On 05/21/11 17:14, Alex Deucher wrote:
On Sat, May 21, 2011 at 8:21 AM, Joachim Henke
<j-o@xxxxxxxxxxxxxxxxxxxxx> wrote:
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?
It was a 9600 from a G5, I don't recall which one. Thank apple for
making multiple systems all wired up differently with the same pci
ids. I suppose to fix it properly we'll need some way of identifying
the specific machine. Are there specific ids for each g5 for
of_machine_is_compatible()?
Alex
Thanks for your fast reply! FYI, this is what /proc/cpuinfo tells:
platform : PowerMac
model : PowerMac8,2
machine : PowerMac8,2
motherboard : PowerMac8,2 MacRISC4 Power Macintosh
But instead of excluding this model, it's probably better to only include
the model the patch was originally written for - in case there are other
systems which got broken ;)
Thanks and regards,
Joachim Henke
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel