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