Skip to content

Commit 8954c3f

Browse files
Lijo Lazaralexdeucher
authored andcommitted
drm/amdgpu: Change AID detection logic
On GFX 9.4.3 SOCs, only 2 SDMA instances need to be available to be considered as a valid AID. Signed-off-by: Lijo Lazar <[email protected]> Reviewed-by: Asad Kamal <[email protected]> Reviewed-by: Hawking Zhang <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
1 parent 6e7a417 commit 8954c3f

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

drivers/gpu/drm/amd/amdgpu/aqua_vanjaram.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -630,7 +630,7 @@ static int aqua_vanjaram_xcp_mgr_init(struct amdgpu_device *adev)
630630

631631
int aqua_vanjaram_init_soc_config(struct amdgpu_device *adev)
632632
{
633-
u32 mask, inst_mask = adev->sdma.sdma_mask;
633+
u32 mask, avail_inst, inst_mask = adev->sdma.sdma_mask;
634634
int ret, i;
635635

636636
/* generally 1 AID supports 4 instances */
@@ -642,7 +642,9 @@ int aqua_vanjaram_init_soc_config(struct amdgpu_device *adev)
642642

643643
for (mask = (1 << adev->sdma.num_inst_per_aid) - 1; inst_mask;
644644
inst_mask >>= adev->sdma.num_inst_per_aid, ++i) {
645-
if ((inst_mask & mask) == mask)
645+
avail_inst = inst_mask & mask;
646+
if (avail_inst == mask || avail_inst == 0x3 ||
647+
avail_inst == 0xc)
646648
adev->aid_mask |= (1 << i);
647649
}
648650

0 commit comments

Comments
 (0)