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 <lijo.lazar@amd.com>
Reviewed-by: Asad Kamal <asad.kamal@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
 
 int aqua_vanjaram_init_soc_config(struct amdgpu_device *adev)
 {
-       u32 mask, inst_mask = adev->sdma.sdma_mask;
+       u32 mask, avail_inst, inst_mask = adev->sdma.sdma_mask;
        int ret, i;
 
        /* generally 1 AID supports 4 instances */
 
        for (mask = (1 << adev->sdma.num_inst_per_aid) - 1; inst_mask;
             inst_mask >>= adev->sdma.num_inst_per_aid, ++i) {
-               if ((inst_mask & mask) == mask)
+               avail_inst = inst_mask & mask;
+               if (avail_inst == mask || avail_inst == 0x3 ||
+                   avail_inst == 0xc)
                        adev->aid_mask |= (1 << i);
        }