* [PATCH] drm/amdgpu: make Mac FB workaround generic
@ 2026-10-05 13:28 Alex Deucher
2026-10-05 16:06 ` Ayhan Çicek
0 siblings, 1 reply; 2+ messages in thread
From: Alex Deucher @ 2026-10-05 13:28 UTC (permalink / raw)
To: amd-gfx; +Cc: Alex Deucher, Ayhan Çiçek
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 <ayhancicek@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
---
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
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] drm/amdgpu: make Mac FB workaround generic
2026-10-05 13:28 [PATCH] drm/amdgpu: make Mac FB workaround generic Alex Deucher
@ 2026-10-05 16:06 ` Ayhan Çicek
0 siblings, 0 replies; 2+ messages in thread
From: Ayhan Çicek @ 2026-10-05 16:06 UTC (permalink / raw)
To: Alex Deucher; +Cc: amd-gfx
[-- Attachment #1: Type: text/plain, Size: 2528 bytes --]
Thanks, Alex.
That makes sense. I agree that checking for the Apple subsystem
vendor together with VRAM at
address 0 is a cleaner and more general solution than adding per-ASIC cases.
Thanks as well for incorporating my test result into the patch. The
generic version has remained stable on my MacBookPro11,5 with the
Radeon R9 M370X (VERDE), with the hardware cursor enabled.
Best regards,
Ayhan
5 Eki 2026 Pzt 16:28 tarihinde Alex Deucher <alexander.deucher@amd.com>
şunu yazdı:
> 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 <ayhancicek@gmail.com>
> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
> ---
> 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
>
>
[-- Attachment #2: Type: text/html, Size: 3515 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-10-06 7:35 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-05 13:28 [PATCH] drm/amdgpu: make Mac FB workaround generic Alex Deucher
2026-10-05 16:06 ` Ayhan Çicek
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.