drm/amdkfd: Tidy up kfd_generate_gpu_id() uint64_t bitshift unpack
authorEdward O'Callaghan <funfunctor@folklore1984.net>
Sat, 17 Sep 2016 05:01:40 +0000 (15:01 +1000)
committerOded Gabbay <oded.gabbay@gmail.com>
Mon, 19 Sep 2016 17:58:35 +0000 (20:58 +0300)
Dereference the one time and unpack the lower and upper 32bit
portions with the proper kernel helper macros.

Signed-off-by: Edward O'Callaghan <funfunctor@folklore1984.net>
Reviewed-by: Oded Gabbay <oded.gabbay@gmail.com>
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
drivers/gpu/drm/amd/amdkfd/kfd_topology.c

index 884c96f50c3d9b62ccc4c9f81e20570d41d72f46..1e50647499593927f6238602ec7ba0efce216eb4 100644 (file)
@@ -1090,19 +1090,21 @@ static uint32_t kfd_generate_gpu_id(struct kfd_dev *gpu)
 {
        uint32_t hashout;
        uint32_t buf[7];
+       uint64_t local_mem_size;
        int i;
 
        if (!gpu)
                return 0;
 
+       local_mem_size = gpu->kfd2kgd->get_vmem_size(gpu->kgd);
+
        buf[0] = gpu->pdev->devfn;
        buf[1] = gpu->pdev->subsystem_vendor;
        buf[2] = gpu->pdev->subsystem_device;
        buf[3] = gpu->pdev->device;
        buf[4] = gpu->pdev->bus->number;
-       buf[5] = (uint32_t)(gpu->kfd2kgd->get_vmem_size(gpu->kgd)
-                       & 0xffffffff);
-       buf[6] = (uint32_t)(gpu->kfd2kgd->get_vmem_size(gpu->kgd) >> 32);
+       buf[5] = lower_32_bits(local_mem_size);
+       buf[6] = upper_32_bits(local_mem_size);
 
        for (i = 0, hashout = 0; i < 7; i++)
                hashout ^= hash_32(buf[i], KFD_GPU_ID_HASH_WIDTH);