drm/amdgpu: skip pasid mapping for second mmhub on Arcturus
authorLe Ma <le.ma@amd.com>
Tue, 11 Sep 2018 05:11:28 +0000 (13:11 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 18 Jul 2019 19:18:03 +0000 (14:18 -0500)
There's no LUT register for second mmhub to convert pasid since it has no ATC.

Signed-off-by: Le Ma <le.ma@amd.com>
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c

index 75801178efa16439cfe7a646bbd01763ad0f44f6..a05040249a50f2ad5cde4e097935c4f57155e03c 100644 (file)
@@ -492,6 +492,10 @@ static void gmc_v9_0_emit_pasid_mapping(struct amdgpu_ring *ring, unsigned vmid,
        struct amdgpu_device *adev = ring->adev;
        uint32_t reg;
 
+       /* Do nothing because there's no lut register for mmhub1. */
+       if (ring->funcs->vmhub == AMDGPU_MMHUB_1)
+               return;
+
        if (ring->funcs->vmhub == AMDGPU_GFXHUB_0)
                reg = SOC15_REG_OFFSET(OSSSYS, 0, mmIH_VMID_0_LUT) + vmid;
        else