drm/amdkfd: Use bitmap_zalloc() when applicable
'kfd->gtt_sa_bitmap' is a bitmap. So use 'bitmap_zalloc()' to simplify code, improve the semantic and avoid some open-coded arithmetic in allocator arguments. Also change the corresponding 'kfree()' into 'bitmap_free()' to keep consistency. Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
7324d02a65
commit
f43a9f18e0
@ -873,8 +873,6 @@ out:
|
||||
static int kfd_gtt_sa_init(struct kfd_dev *kfd, unsigned int buf_size,
|
||||
unsigned int chunk_size)
|
||||
{
|
||||
unsigned int num_of_longs;
|
||||
|
||||
if (WARN_ON(buf_size < chunk_size))
|
||||
return -EINVAL;
|
||||
if (WARN_ON(buf_size == 0))
|
||||
@ -885,11 +883,8 @@ static int kfd_gtt_sa_init(struct kfd_dev *kfd, unsigned int buf_size,
|
||||
kfd->gtt_sa_chunk_size = chunk_size;
|
||||
kfd->gtt_sa_num_of_chunks = buf_size / chunk_size;
|
||||
|
||||
num_of_longs = (kfd->gtt_sa_num_of_chunks + BITS_PER_LONG - 1) /
|
||||
BITS_PER_LONG;
|
||||
|
||||
kfd->gtt_sa_bitmap = kcalloc(num_of_longs, sizeof(long), GFP_KERNEL);
|
||||
|
||||
kfd->gtt_sa_bitmap = bitmap_zalloc(kfd->gtt_sa_num_of_chunks,
|
||||
GFP_KERNEL);
|
||||
if (!kfd->gtt_sa_bitmap)
|
||||
return -ENOMEM;
|
||||
|
||||
@ -899,13 +894,12 @@ static int kfd_gtt_sa_init(struct kfd_dev *kfd, unsigned int buf_size,
|
||||
mutex_init(&kfd->gtt_sa_lock);
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
static void kfd_gtt_sa_fini(struct kfd_dev *kfd)
|
||||
{
|
||||
mutex_destroy(&kfd->gtt_sa_lock);
|
||||
kfree(kfd->gtt_sa_bitmap);
|
||||
bitmap_free(kfd->gtt_sa_bitmap);
|
||||
}
|
||||
|
||||
static inline uint64_t kfd_gtt_sa_calc_gpu_addr(uint64_t start_addr,
|
||||
|
Loading…
Reference in New Issue
Block a user