]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amdgpu: set aid_mask for soc v1
authorLikun Gao <Likun.Gao@amd.com>
Tue, 11 Nov 2025 06:34:20 +0000 (14:34 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 5 Jan 2026 21:59:57 +0000 (16:59 -0500)
Set aid_mask via xcc_mask.

v2: squash in follow up change

Signed-off-by: Likun Gao <Likun.Gao@amd.com>
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/soc_v1_0.c

index 628abd25ac0911edcc19c513f74bdc3ecfcc4988..e9c7be1ed602e1aa6a1409df0990ca77aec8cc1c 100644 (file)
@@ -781,9 +781,17 @@ static int soc_v1_0_xcp_mgr_init(struct amdgpu_device *adev)
 
 int soc_v1_0_init_soc_config(struct amdgpu_device *adev)
 {
-       int ret;
+       int ret, i;
+       int xcc_inst_per_aid = 4;
+       uint16_t xcc_mask;
+
+       xcc_mask = adev->gfx.xcc_mask;
+       adev->aid_mask = 0;
+       for (i = 0; xcc_mask; xcc_mask >>= xcc_inst_per_aid, i++) {
+               if (xcc_mask & ((1U << xcc_inst_per_aid) - 1))
+                       adev->aid_mask |= (1 << i);
+       }
 
-       /*TODO: init soc config */
        adev->sdma.num_inst_per_xcc = 2;
        adev->sdma.num_instances =
                NUM_XCC(adev->gfx.xcc_mask) * adev->sdma.num_inst_per_xcc;