drm/amdgpu: add amdgpu_device reference in ip block
authorSunil Khatri <sunil.khatri@amd.com>
Tue, 24 Sep 2024 12:46:29 +0000 (18:16 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 26 Sep 2024 21:06:18 +0000 (17:06 -0400)
To handle amdgpu_device reference for different GPUs
we add it's reference in each ip block which can be
used to differentiate between difference gpu devices.

Signed-off-by: Sunil Khatri <sunil.khatri@amd.com>
Suggested-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu.h
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c

index aa58875..ad1112e 100644 (file)
@@ -391,6 +391,7 @@ struct amdgpu_ip_block_version {
 struct amdgpu_ip_block {
        struct amdgpu_ip_block_status status;
        const struct amdgpu_ip_block_version *version;
+       struct amdgpu_device *adev;
 };
 
 int amdgpu_device_ip_block_version_cmp(struct amdgpu_device *adev,
index 1f65bc4..24a7696 100644 (file)
@@ -2337,6 +2337,8 @@ int amdgpu_device_ip_block_add(struct amdgpu_device *adev,
        DRM_INFO("add ip block number %d <%s>\n", adev->num_ip_blocks,
                  ip_block_version->funcs->name);
 
+       adev->ip_blocks[adev->num_ip_blocks].adev = adev;
+
        adev->ip_blocks[adev->num_ip_blocks++].version = ip_block_version;
 
        return 0;