drm/amdgpu: apply the RV2 system aperture fix to RN/CZN as well
authorjsg <jsg@openbsd.org>
Tue, 6 Feb 2024 03:50:16 +0000 (03:50 +0000)
committerjsg <jsg@openbsd.org>
Tue, 6 Feb 2024 03:50:16 +0000 (03:50 +0000)
From Alex Deucher
08dde830ab24cfcb855b198f7dbe7d3637f623bc in linux-6.6.y/6.6.16
16783d8ef08448815e149e40c82fc1e1fc41ddbf in mainline linux

sys/dev/pci/drm/amd/amdgpu/gfxhub_v1_0.c
sys/dev/pci/drm/amd/amdgpu/gfxhub_v1_2.c
sys/dev/pci/drm/amd/amdgpu/mmhub_v1_0.c
sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index cdc290a..66c6bab 100644 (file)
@@ -102,7 +102,9 @@ static void gfxhub_v1_0_init_system_aperture_regs(struct amdgpu_device *adev)
                WREG32_SOC15_RLC(GC, 0, mmMC_VM_SYSTEM_APERTURE_LOW_ADDR,
                        min(adev->gmc.fb_start, adev->gmc.agp_start) >> 18);
 
-               if (adev->apu_flags & AMD_APU_IS_RAVEN2)
+               if (adev->apu_flags & (AMD_APU_IS_RAVEN2 |
+                                      AMD_APU_IS_RENOIR |
+                                      AMD_APU_IS_GREEN_SARDINE))
                       /*
                        * Raven2 has a HW issue that it is unable to use the
                        * vram which is out of MC_VM_SYSTEM_APERTURE_HIGH_ADDR.
index 0834af7..b50f24f 100644 (file)
@@ -139,7 +139,9 @@ gfxhub_v1_2_xcc_init_system_aperture_regs(struct amdgpu_device *adev,
                        WREG32_SOC15_RLC(GC, GET_INST(GC, i), regMC_VM_SYSTEM_APERTURE_LOW_ADDR,
                                min(adev->gmc.fb_start, adev->gmc.agp_start) >> 18);
 
-                       if (adev->apu_flags & AMD_APU_IS_RAVEN2)
+                       if (adev->apu_flags & (AMD_APU_IS_RAVEN2 |
+                                              AMD_APU_IS_RENOIR |
+                                              AMD_APU_IS_GREEN_SARDINE))
                               /*
                                * Raven2 has a HW issue that it is unable to use the
                                * vram which is out of MC_VM_SYSTEM_APERTURE_HIGH_ADDR.
index fb91b31..d25f87f 100644 (file)
@@ -96,7 +96,9 @@ static void mmhub_v1_0_init_system_aperture_regs(struct amdgpu_device *adev)
        WREG32_SOC15(MMHUB, 0, mmMC_VM_SYSTEM_APERTURE_LOW_ADDR,
                     min(adev->gmc.fb_start, adev->gmc.agp_start) >> 18);
 
-       if (adev->apu_flags & AMD_APU_IS_RAVEN2)
+       if (adev->apu_flags & (AMD_APU_IS_RAVEN2 |
+                              AMD_APU_IS_RENOIR |
+                              AMD_APU_IS_GREEN_SARDINE))
                /*
                 * Raven2 has a HW issue that it is unable to use the vram which
                 * is out of MC_VM_SYSTEM_APERTURE_HIGH_ADDR. So here is the
index b9eba70..c4e5c6a 100644 (file)
@@ -1247,7 +1247,9 @@ static void mmhub_read_system_context(struct amdgpu_device *adev, struct dc_phy_
        /* AGP aperture is disabled */
        if (agp_bot == agp_top) {
                logical_addr_low = adev->gmc.fb_start >> 18;
-               if (adev->apu_flags & AMD_APU_IS_RAVEN2)
+               if (adev->apu_flags & (AMD_APU_IS_RAVEN2 |
+                                      AMD_APU_IS_RENOIR |
+                                      AMD_APU_IS_GREEN_SARDINE))
                        /*
                         * Raven2 has a HW issue that it is unable to use the vram which
                         * is out of MC_VM_SYSTEM_APERTURE_HIGH_ADDR. So here is the
@@ -1259,7 +1261,9 @@ static void mmhub_read_system_context(struct amdgpu_device *adev, struct dc_phy_
                        logical_addr_high = adev->gmc.fb_end >> 18;
        } else {
                logical_addr_low = min(adev->gmc.fb_start, adev->gmc.agp_start) >> 18;
-               if (adev->apu_flags & AMD_APU_IS_RAVEN2)
+               if (adev->apu_flags & (AMD_APU_IS_RAVEN2 |
+                                      AMD_APU_IS_RENOIR |
+                                      AMD_APU_IS_GREEN_SARDINE))
                        /*
                         * Raven2 has a HW issue that it is unable to use the vram which
                         * is out of MC_VM_SYSTEM_APERTURE_HIGH_ADDR. So here is the