Rather than adding a case of every chip where this is seen
just check if the FB is at 0 and the ssid is apple.  This
should cover all chips which fall into this case.

Tested-by: Ayhan Çiçek <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c
index d25ca903e21b8..5d4276cd0f7d3 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c
@@ -1190,20 +1190,17 @@ void amdgpu_gmc_init_vga_resv_regions(struct 
amdgpu_device *adev)
        case CHIP_RENOIR:
                adev->mman.keep_stolen_vga_memory = true;
                break;
-       case CHIP_POLARIS10:
-       case CHIP_POLARIS11:
-       case CHIP_POLARIS12:
-               /* MacBookPros with switchable graphics put VRAM at 0 when
-                * the iGPU is enabled which results in cursor issues if
-                * the cursor ends up at 0.  Reserve vram at 0 in that case.
-                */
-               if (adev->gmc.vram_start == 0)
-                       adev->mman.keep_stolen_vga_memory = true;
-               break;
        default:
                adev->mman.keep_stolen_vga_memory = false;
                break;
        }
+       /* MacBookPros with switchable graphics put VRAM at 0 when
+        * the iGPU is enabled which results in cursor issues if
+        * the cursor ends up at 0.  Reserve vram at 0 in that case.
+        */
+       if ((adev->pdev->subsystem_vendor == PCI_VENDOR_ID_APPLE) &&
+           (adev->gmc.vram_start == 0))
+               adev->mman.keep_stolen_vga_memory = true;
 
        if (amdgpu_sriov_vf(adev) ||
            !amdgpu_device_has_display_hardware(adev)) {
-- 
2.55.0

Reply via email to