[regression] blank screen with radeondrmfb on iMac G5 (ALS)

Joachim Henke j-o at users.sourceforge.net
Sat May 21 05:21:19 PDT 2011


Hello,

I found a regression in Linux 2.6.37.2 - I know this report comes quite 
late, but I had no time to investigate until now. And I found that this 
still persists up to 2.6.39 :(

When I upgraded from 2.6.37 to 2.6.37.3, after reboot my machine came up 
with a blank/black screen (backlight on). It's an iMac G5 (Ambient Light 
Sensor) with a Radeon 9600 (RV350). After Xorg had started, the screen 
remained blank.

There were only a few Radeon specific changes between these two versions, so 
that I could quickly identify the cause. It's commit 
ce9eb2c297f918be46e36dd86b7e88cabdc3e22df 
(9fad321ac6bedd96f449754a1a25289ea1789a49 upstream). After reverting this 
with a simple patch, it works properly again:

--- linux-2.6.39/drivers/gpu/drm/radeon/radeon_combios.c.orig
+++ linux-2.6.39/drivers/gpu/drm/radeon/radeon_combios.c
@@ -1515,11 +1515,6 @@
  			   (rdev->pdev->subsystem_device == 0x4a48)) {
  			/* Mac X800 */
  			rdev->mode_info.connector_table = CT_MAC_X800;
-		} else if ((rdev->pdev->device == 0x4150) &&
-			   (rdev->pdev->subsystem_vendor == 0x1002) &&
-			   (rdev->pdev->subsystem_device == 0x4150)) {
-			/* Mac G5 9600 */
-			rdev->mode_info.connector_table = CT_MAC_G5_9600;
  		} else
  #endif /* CONFIG_PPC_PMAC */
  #ifdef CONFIG_PPC64


This is a diff from the dmesg [without my patch] -> [with my patch]:

  [drm] ring test succeeded in 0 usecs
  [drm] radeon: ib pool ready.
  [drm] ib test succeeded in 0 usecs
-[drm] Connector Table: 12 (mac g5 9600)
-[drm] No valid Ext TMDS info found in BIOS
-[drm] No TV DAC info found in BIOS
+[drm] Connector Table: 1 (generic)
  [drm] No TMDS info found in BIOS
+[drm] No TV DAC info found in BIOS
  [drm] Radeon Display Connectors
  [drm] Connector 0:
  [drm]   DVI-I
  [drm]   HPD1
  [drm]   DDC: 0x64 0x64 0x64 0x64 0x64 0x64 0x64 0x64
  [drm]   Encoders:
-[drm]     DFP2: INTERNAL_DVO1
+[drm]     DFP1: INTERNAL_TMDS1
  [drm]     CRT2: INTERNAL_DAC2
  [drm] Connector 1:
-[drm]   DVI-I
-[drm]   HPD2
+[drm]   VGA
  [drm]   DDC: 0x60 0x60 0x60 0x60 0x60 0x60 0x60 0x60
  [drm]   Encoders:
-[drm]     DFP1: INTERNAL_TMDS1
  [drm]     CRT1: INTERNAL_DAC1
  [drm] Connector 2:
  [drm]   S-video


On which kind of machines was the original commit tested/supposed to work? 
Do you see a possibility to fix this in a proper way upstream?

Thanks and regards,
Joachim Henke


More information about the dri-devel mailing list