aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
diff options
context:
space:
mode:
authorGravatar Hawking Zhang <Hawking.Zhang@amd.com> 2023-05-12 13:22:57 +0800
committerGravatar Alex Deucher <alexander.deucher@amd.com> 2023-06-09 10:37:24 -0400
commit9a3ce1a7a9e5372d8c275bf3fbef4456c8407145 (patch)
tree53d5cae231f6e29a8449b99c26a5d6001500fcb5 /drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
parentdrm/amdkfd: Fix null ptr access (diff)
downloadlinux-9a3ce1a7a9e5372d8c275bf3fbef4456c8407145.tar.gz
linux-9a3ce1a7a9e5372d8c275bf3fbef4456c8407145.tar.bz2
linux-9a3ce1a7a9e5372d8c275bf3fbef4456c8407145.zip
drm/amdgpu: Do not access members of xcp w/o check (v2)
Not all the asic needs xcp. ensure check xcp availabity before accessing its member. v2: add missing change in kfd_topology.c Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com> Reviewed-by: Le Ma <le.ma@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
index 85df73f2c85e..739eb7c0d133 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
@@ -429,17 +429,17 @@ uint32_t amdgpu_amdkfd_get_fw_version(struct amdgpu_device *adev,
void amdgpu_amdkfd_get_local_mem_info(struct amdgpu_device *adev,
struct kfd_local_mem_info *mem_info,
- uint8_t xcp_id)
+ struct amdgpu_xcp *xcp)
{
memset(mem_info, 0, sizeof(*mem_info));
- if (adev->ip_versions[GC_HWIP][0] == IP_VERSION(9, 4, 3)) {
+ if (xcp) {
if (adev->gmc.real_vram_size == adev->gmc.visible_vram_size)
mem_info->local_mem_size_public =
- KFD_XCP_MEMORY_SIZE(adev, xcp_id);
+ KFD_XCP_MEMORY_SIZE(adev, xcp->id);
else
mem_info->local_mem_size_private =
- KFD_XCP_MEMORY_SIZE(adev, xcp_id);
+ KFD_XCP_MEMORY_SIZE(adev, xcp->id);
} else {
mem_info->local_mem_size_public = adev->gmc.visible_vram_size;
mem_info->local_mem_size_private = adev->gmc.real_vram_size -