drm/amdgpu: Assign unique id to compute partition

Assign unique id to compute partition. This is the unique id of the
first XCD instance belonging to the partition.

Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
Reviewed-by: Asad Kamal <asad.kamal@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Lijo Lazar
2025-08-04 13:53:21 +05:30
committed by Alex Deucher
parent 6fa8216854
commit 0b4d79dafa
2 changed files with 21 additions and 0 deletions

View File

@@ -120,6 +120,25 @@ static void __amdgpu_xcp_add_block(struct amdgpu_xcp_mgr *xcp_mgr, int xcp_id,
xcp->valid = true;
}
static void __amdgpu_xcp_set_unique_id(struct amdgpu_xcp_mgr *xcp_mgr,
int xcp_id)
{
struct amdgpu_xcp *xcp = &xcp_mgr->xcp[xcp_id];
struct amdgpu_device *adev = xcp_mgr->adev;
uint32_t inst_mask;
uint64_t uid;
int i;
if (!amdgpu_xcp_get_inst_details(xcp, AMDGPU_XCP_GFX, &inst_mask) &&
inst_mask) {
i = GET_INST(GC, (ffs(inst_mask) - 1));
uid = amdgpu_device_get_uid(xcp_mgr->adev->uid_info,
AMDGPU_UID_TYPE_XCD, i);
if (uid)
xcp->unique_id = uid;
}
}
int amdgpu_xcp_init(struct amdgpu_xcp_mgr *xcp_mgr, int num_xcps, int mode)
{
struct amdgpu_device *adev = xcp_mgr->adev;
@@ -158,6 +177,7 @@ int amdgpu_xcp_init(struct amdgpu_xcp_mgr *xcp_mgr, int num_xcps, int mode)
else
xcp_mgr->xcp[i].mem_id = mem_id;
}
__amdgpu_xcp_set_unique_id(xcp_mgr, i);
}
xcp_mgr->num_xcps = num_xcps;