The function calls bitmap_or() followed by for_each_set_bit().
Switch it to the dedicated for_each_or_bit() and drop the temporary
bitmap.

Signed-off-by: Yury Norov <[email protected]>
---
 drivers/gpu/drm/amd/amdkfd/kfd_svm.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c 
b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
index 79ea138897fc..eed76b13d191 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
@@ -1344,7 +1344,6 @@ static int
 svm_range_unmap_from_gpus(struct svm_range *prange, unsigned long start,
                          unsigned long last, uint32_t trigger)
 {
-       DECLARE_BITMAP(bitmap, MAX_GPU_INSTANCE);
        struct kfd_process_device *pdd;
        struct dma_fence *fence = NULL;
        struct kfd_process *p;
@@ -1362,11 +1361,9 @@ svm_range_unmap_from_gpus(struct svm_range *prange, 
unsigned long start,
                prange->mapped_to_gpu = false;
        }
 
-       bitmap_or(bitmap, prange->bitmap_access, prange->bitmap_aip,
-                 MAX_GPU_INSTANCE);
        p = container_of(prange->svms, struct kfd_process, svms);
 
-       for_each_set_bit(gpuidx, bitmap, MAX_GPU_INSTANCE) {
+       for_each_or_bit(gpuidx, prange->bitmap_access, prange->bitmap_aip, 
MAX_GPU_INSTANCE) {
                pr_debug("unmap from gpu idx 0x%x\n", gpuidx);
                pdd = kfd_process_device_from_gpuidx(p, gpuidx);
                if (!pdd) {
-- 
2.43.0

Reply via email to