diff mbox

drm/radeon: narrow scope of Apple re-POST hack

Message ID 1369844665-13838-1-git-send-email-alexdeucher@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Alex Deucher May 29, 2013, 4:24 p.m. UTC
From: Alex Deucher <alexander.deucher@amd.com>

This narrows the scope of the apple re-POST hack added in:
drm/radeon: re-POST the asic on Apple hardware when booted via EFI

That patch prevents UVD from working on macs when booted in EFI
mode.  The original patch fixed macbook2,1 systems which were
r5xx and hence have no UVD.  Limit the hack to those systems to
prevent UVD breakage on newer systems.

Fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=63935

Cc: Matthew Garrett <mjg59@srcf.ucam.org>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
---
 drivers/gpu/drm/radeon/radeon_device.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

Comments

Matthew Garrett May 29, 2013, 4:31 p.m. UTC | #1
On Wed, May 29, 2013 at 12:24:25PM -0400, alexdeucher@gmail.com wrote:
> From: Alex Deucher <alexander.deucher@amd.com>
> 
> This narrows the scope of the apple re-POST hack added in:
> drm/radeon: re-POST the asic on Apple hardware when booted via EFI
> 
> That patch prevents UVD from working on macs when booted in EFI
> mode.  The original patch fixed macbook2,1 systems which were
> r5xx and hence have no UVD.  Limit the hack to those systems to
> prevent UVD breakage on newer systems.
> 
> Fixes:
> https://bugs.freedesktop.org/show_bug.cgi?id=63935
> 
> Cc: Matthew Garrett <mjg59@srcf.ucam.org>
Acked-by: Matthew Garrett <matthew.garrett@nebula.com>

There's some potential for this to break some other Apple systems, but 
let's try it and see.
diff mbox

Patch

diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c
index af82c9b..1899738 100644
--- a/drivers/gpu/drm/radeon/radeon_device.c
+++ b/drivers/gpu/drm/radeon/radeon_device.c
@@ -467,8 +467,10 @@  bool radeon_card_posted(struct radeon_device *rdev)
 {
 	uint32_t reg;
 
+	/* required for EFI mode on macbook2,1 which uses an r5xx asic */
 	if (efi_enabled(EFI_BOOT) &&
-	    rdev->pdev->subsystem_vendor == PCI_VENDOR_ID_APPLE)
+	    (rdev->pdev->subsystem_vendor == PCI_VENDOR_ID_APPLE) &&
+	    (rdev->family < CHIP_R600))
 		return false;
 
 	if (ASIC_IS_NODCE(rdev))