Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 585f0e6c authored by Edward O'Callaghan's avatar Edward O'Callaghan Committed by Oded Gabbay
Browse files

drm/amdkfd: Tidy up kfd_generate_gpu_id() uint64_t bitshift unpack



Dereference the one time and unpack the lower and upper 32bit
portions with the proper kernel helper macros.

Signed-off-by: default avatarEdward O'Callaghan <funfunctor@folklore1984.net>
Reviewed-by: default avatarOded Gabbay <oded.gabbay@gmail.com>
Signed-off-by: default avatarOded Gabbay <oded.gabbay@gmail.com>
parent 9f8cf165
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -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);