On Sat, May 21, 2011 at 8:21 AM, Joachim Henke
<j-o at users.sourceforge.net> 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 and regards,
> Joachim Henke
>

Reply via email to