On 2026-01-14 11:05, Yury Norov wrote:
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]>

The patch is

Reviewed-by: Felix Kuehling <[email protected]>

I'm applying it to amd-staging-drm-next.

Thanks,
  Felix


---
  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) {

Reply via email to