Commit 096bb75e authored by Alex Deucher's avatar Alex Deucher
Browse files

drm/amdgpu: keep vga memory on MacBooks with switchable graphics



On Intel MacBookPros with switchable graphics, when the iGPU
is enabled, the address of VRAM gets put at 0 in the dGPU's
virtual address space.  This is non-standard and seems to cause
issues with the cursor if it ends up at 0.  We have the framework
to reserve memory at 0 in the address space, so enable it here if
the vram start address is 0.

Reviewed-and-tested-by: default avatarMario Kleiner <mario.kleiner.de@gmail.com>
Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4302


Cc: stable@vger.kernel.org
Cc: Mario Kleiner <mario.kleiner.de@gmail.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 23c098b5
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -1068,6 +1068,16 @@ void amdgpu_gmc_get_vbios_allocations(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;