drm/amdkfd: Add kfd gtt sub-allocator functions
authorOded Gabbay <oded.gabbay@amd.com>
Mon, 27 Oct 2014 12:36:07 +0000 (14:36 +0200)
committerOded Gabbay <oded.gabbay@amd.com>
Fri, 9 Jan 2015 20:26:08 +0000 (22:26 +0200)
commit6e81090b2ec4db256b08fab232e0d247aadf1bc5
treee2d5e6ea301d49ac4a12badda4c3d69226ee5e82
parent36b5c08f099a7b4d72a08784ab3efff592de2463
drm/amdkfd: Add kfd gtt sub-allocator functions

This patch adds new kfd gtt sub-allocator functions that service the amdkfd
driver when it wants to use gtt memory.

The sub-allocator uses a bitmap to handle the memory area that was transferred
to it during init. It divides the memory area into chunks, according to chunk
size parameter.

The allocation function will allocate contiguous chunks from that memory area,
according to the requested size. If the requested size is smaller than the
chunk size, a single chunk will be allocated.

v2: Do some more verifications on parameters that are passed into
kfd_gtt_sa_init()

Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
Reviewed-by: Alexey Skidanov <Alexey.skidanov@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdkfd/kfd_device.c
drivers/gpu/drm/amd/amdkfd/kfd_priv.h