* [regression] blank screen with radeondrmfb on iMac G5 (ALS)
@ 2011-05-21 12:21 Joachim Henke
2011-05-21 15:14 ` Alex Deucher
0 siblings, 1 reply; 11+ messages in thread
From: Joachim Henke @ 2011-05-21 12:21 UTC (permalink / raw)
To: David Airlie, Alex Deucher, Dave Airlie; +Cc: dri-devel
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
^ permalink raw reply [flat|nested] 11+ messages in thread* Re: [regression] blank screen with radeondrmfb on iMac G5 (ALS)
2011-05-21 12:21 [regression] blank screen with radeondrmfb on iMac G5 (ALS) Joachim Henke
@ 2011-05-21 15:14 ` Alex Deucher
2011-05-21 16:02 ` Michel Dänzer
2011-05-21 17:05 ` Joachim Henke
0 siblings, 2 replies; 11+ messages in thread
From: Alex Deucher @ 2011-05-21 15:14 UTC (permalink / raw)
To: Joachim Henke; +Cc: Dave Airlie, dri-devel
On Sat, May 21, 2011 at 8:21 AM, Joachim Henke
<j-o@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
>
^ permalink raw reply [flat|nested] 11+ messages in thread* Re: [regression] blank screen with radeondrmfb on iMac G5 (ALS)
2011-05-21 15:14 ` Alex Deucher
@ 2011-05-21 16:02 ` Michel Dänzer
2011-05-21 17:05 ` Joachim Henke
1 sibling, 0 replies; 11+ messages in thread
From: Michel Dänzer @ 2011-05-21 16:02 UTC (permalink / raw)
To: Alex Deucher; +Cc: Dave Airlie, dri-devel, Joachim Henke
On Sam, 2011-05-21 at 11:14 -0400, Alex Deucher wrote:
> On Sat, May 21, 2011 at 8:21 AM, Joachim Henke
> <j-o@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.
Probably a tower.
> 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()?
Yeah, they should have distinct identifiers, visible on
the /proc/cpuinfo model/machine/motherboard lines.
--
Earthling Michel Dänzer | http://www.vmware.com
Libre software enthusiast | Debian, X and DRI developer
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 11+ messages in thread* Re: [regression] blank screen with radeondrmfb on iMac G5 (ALS)
2011-05-21 15:14 ` Alex Deucher
2011-05-21 16:02 ` Michel Dänzer
@ 2011-05-21 17:05 ` Joachim Henke
2011-06-06 16:53 ` [PATCH] drm/radeon/kms: fix mac g5 quirk Alex Deucher
1 sibling, 1 reply; 11+ messages in thread
From: Joachim Henke @ 2011-05-21 17:05 UTC (permalink / raw)
To: Alex Deucher; +Cc: dri-devel
On 05/21/11 17:14, Alex Deucher wrote:
> On Sat, May 21, 2011 at 8:21 AM, Joachim Henke
> <j-o@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 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
^ permalink raw reply [flat|nested] 11+ messages in thread* [PATCH] drm/radeon/kms: fix mac g5 quirk
2011-05-21 17:05 ` Joachim Henke
@ 2011-06-06 16:53 ` Alex Deucher
2011-06-14 6:39 ` Michel Dänzer
0 siblings, 1 reply; 11+ messages in thread
From: Alex Deucher @ 2011-06-06 16:53 UTC (permalink / raw)
To: airlied, dri-devel; +Cc: Michel Dänzer, Joachim Henke
Apple uses the same subsystem pci ids for lots of
hardware much of which is wired up differently. In
this case, the G5 imac and the G5 tower.
Only apply the quirk configuration to G5 towers.
Reported-by: Joachim Henke <j-o@users.sourceforge.net>
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Cc: Joachim Henke <j-o@users.sourceforge.net>
Cc: Michel Dänzer <michel@daenzer.net>
---
drivers/gpu/drm/radeon/radeon_combios.c | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/radeon/radeon_combios.c b/drivers/gpu/drm/radeon/radeon_combios.c
index 5b991f7..19b10cf 100644
--- a/drivers/gpu/drm/radeon/radeon_combios.c
+++ b/drivers/gpu/drm/radeon/radeon_combios.c
@@ -1548,9 +1548,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
(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)) {
+ } else if (of_machine_is_compatible("PowerMac7,2") ||
+ of_machine_is_compatible("PowerMac7,3")) {
/* Mac G5 9600 */
rdev->mode_info.connector_table = CT_MAC_G5_9600;
} else
--
1.7.1.1
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 11+ messages in thread* Re: [PATCH] drm/radeon/kms: fix mac g5 quirk
2011-06-06 16:53 ` [PATCH] drm/radeon/kms: fix mac g5 quirk Alex Deucher
@ 2011-06-14 6:39 ` Michel Dänzer
2011-06-14 6:48 ` Alex Deucher
0 siblings, 1 reply; 11+ messages in thread
From: Michel Dänzer @ 2011-06-14 6:39 UTC (permalink / raw)
To: Alex Deucher; +Cc: Joachim Henke, dri-devel
On Mon, 2011-06-06 at 12:53 -0400, Alex Deucher wrote:
> Apple uses the same subsystem pci ids for lots of
> hardware much of which is wired up differently. In
> this case, the G5 imac and the G5 tower.
>
> Only apply the quirk configuration to G5 towers.
>
> Reported-by: Joachim Henke <j-o@users.sourceforge.net>
> Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
> Cc: Joachim Henke <j-o@users.sourceforge.net>
> Cc: Michel Dänzer <michel@daenzer.net>
> ---
> drivers/gpu/drm/radeon/radeon_combios.c | 5 ++---
> 1 files changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/radeon_combios.c b/drivers/gpu/drm/radeon/radeon_combios.c
> index 5b991f7..19b10cf 100644
> --- a/drivers/gpu/drm/radeon/radeon_combios.c
> +++ b/drivers/gpu/drm/radeon/radeon_combios.c
> @@ -1548,9 +1548,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
> (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)) {
> + } else if (of_machine_is_compatible("PowerMac7,2") ||
> + of_machine_is_compatible("PowerMac7,3")) {
> /* Mac G5 9600 */
> rdev->mode_info.connector_table = CT_MAC_G5_9600;
> } else
I think this still needs to check the PCI IDs as well, or it would break
different cards in these machines?
--
Earthling Michel Dänzer | http://www.vmware.com
Libre software enthusiast | Debian, X and DRI developer
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 11+ messages in thread* Re: [PATCH] drm/radeon/kms: fix mac g5 quirk
2011-06-14 6:39 ` Michel Dänzer
@ 2011-06-14 6:48 ` Alex Deucher
2011-06-14 6:57 ` Michel Dänzer
0 siblings, 1 reply; 11+ messages in thread
From: Alex Deucher @ 2011-06-14 6:48 UTC (permalink / raw)
To: Michel Dänzer; +Cc: Joachim Henke, dri-devel
2011/6/14 Michel Dänzer <michel@daenzer.net>:
> On Mon, 2011-06-06 at 12:53 -0400, Alex Deucher wrote:
>> Apple uses the same subsystem pci ids for lots of
>> hardware much of which is wired up differently. In
>> this case, the G5 imac and the G5 tower.
>>
>> Only apply the quirk configuration to G5 towers.
>>
>> Reported-by: Joachim Henke <j-o@users.sourceforge.net>
>> Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
>> Cc: Joachim Henke <j-o@users.sourceforge.net>
>> Cc: Michel Dänzer <michel@daenzer.net>
>> ---
>> drivers/gpu/drm/radeon/radeon_combios.c | 5 ++---
>> 1 files changed, 2 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/radeon/radeon_combios.c b/drivers/gpu/drm/radeon/radeon_combios.c
>> index 5b991f7..19b10cf 100644
>> --- a/drivers/gpu/drm/radeon/radeon_combios.c
>> +++ b/drivers/gpu/drm/radeon/radeon_combios.c
>> @@ -1548,9 +1548,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
>> (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)) {
>> + } else if (of_machine_is_compatible("PowerMac7,2") ||
>> + of_machine_is_compatible("PowerMac7,3")) {
>> /* Mac G5 9600 */
>> rdev->mode_info.connector_table = CT_MAC_G5_9600;
>> } else
>
> I think this still needs to check the PCI IDs as well, or it would break
> different cards in these machines?
I don't know which (if any) other cards apple offered for these
machines. I suppose it wouldn't hurt, but OTOH, if this card is all
that was offered, it's probably not that big a deal as it would be
unlikely that another card with a mac vbios would show up in one.
Cards with an x86 vbios won't hit this path.
Alex
^ permalink raw reply [flat|nested] 11+ messages in thread* Re: [PATCH] drm/radeon/kms: fix mac g5 quirk
2011-06-14 6:48 ` Alex Deucher
@ 2011-06-14 6:57 ` Michel Dänzer
2011-06-14 15:22 ` [PATCH] drm/radeon/kms: be more pendatic about the " Alex Deucher
0 siblings, 1 reply; 11+ messages in thread
From: Michel Dänzer @ 2011-06-14 6:57 UTC (permalink / raw)
To: Alex Deucher; +Cc: Joachim Henke, dri-devel
On Die, 2011-06-14 at 02:48 -0400, Alex Deucher wrote:
> 2011/6/14 Michel Dänzer <michel@daenzer.net>:
> > On Mon, 2011-06-06 at 12:53 -0400, Alex Deucher wrote:
> >> Apple uses the same subsystem pci ids for lots of
> >> hardware much of which is wired up differently. In
> >> this case, the G5 imac and the G5 tower.
> >>
> >> Only apply the quirk configuration to G5 towers.
> >>
> >> Reported-by: Joachim Henke <j-o@users.sourceforge.net>
> >> Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
> >> Cc: Joachim Henke <j-o@users.sourceforge.net>
> >> Cc: Michel Dänzer <michel@daenzer.net>
> >> ---
> >> drivers/gpu/drm/radeon/radeon_combios.c | 5 ++---
> >> 1 files changed, 2 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/drivers/gpu/drm/radeon/radeon_combios.c b/drivers/gpu/drm/radeon/radeon_combios.c
> >> index 5b991f7..19b10cf 100644
> >> --- a/drivers/gpu/drm/radeon/radeon_combios.c
> >> +++ b/drivers/gpu/drm/radeon/radeon_combios.c
> >> @@ -1548,9 +1548,8 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
> >> (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)) {
> >> + } else if (of_machine_is_compatible("PowerMac7,2") ||
> >> + of_machine_is_compatible("PowerMac7,3")) {
> >> /* Mac G5 9600 */
> >> rdev->mode_info.connector_table = CT_MAC_G5_9600;
> >> } else
> >
> > I think this still needs to check the PCI IDs as well, or it would break
> > different cards in these machines?
>
> I don't know which (if any) other cards apple offered for these
> machines. I suppose it wouldn't hurt, but OTOH, if this card is all
> that was offered, it's probably not that big a deal as it would be
> unlikely that another card with a mac vbios would show up in one.
> Cards with an x86 vbios won't hit this path.
Ah right, I didn't think of that, and it looks like the X800 is already
covered as well. Still, as you say, it probably wouldn't hurt. :)
--
Earthling Michel Dänzer | http://www.vmware.com
Libre software enthusiast | Debian, X and DRI developer
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 11+ messages in thread* [PATCH] drm/radeon/kms: be more pendatic about the g5 quirk
2011-06-14 6:57 ` Michel Dänzer
@ 2011-06-14 15:22 ` Alex Deucher
2011-06-14 15:25 ` Michel Dänzer
0 siblings, 1 reply; 11+ messages in thread
From: Alex Deucher @ 2011-06-14 15:22 UTC (permalink / raw)
To: airlied, dri-devel; +Cc: Michel Dänzer, Joachim Henke
I don't think Apple offered any other cards for
this mac, so I doubt this will be an issue, but just
to be on the safe side, check the pci ids as well.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Cc: Joachim Henke <j-o@users.sourceforge.net>
Cc: Michel Dänzer <michel@daenzer.net>
---
drivers/gpu/drm/radeon/radeon_combios.c | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/radeon/radeon_combios.c b/drivers/gpu/drm/radeon/radeon_combios.c
index 797c8bc..e459467 100644
--- a/drivers/gpu/drm/radeon/radeon_combios.c
+++ b/drivers/gpu/drm/radeon/radeon_combios.c
@@ -1553,9 +1553,12 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
(rdev->pdev->subsystem_device == 0x4a48)) {
/* Mac X800 */
rdev->mode_info.connector_table = CT_MAC_X800;
- } else if (of_machine_is_compatible("PowerMac7,2") ||
- of_machine_is_compatible("PowerMac7,3")) {
- /* Mac G5 9600 */
+ } else if ((of_machine_is_compatible("PowerMac7,2") ||
+ of_machine_is_compatible("PowerMac7,3")) &&
+ (rdev->pdev->device == 0x4150) &&
+ (rdev->pdev->subsystem_vendor == 0x1002) &&
+ (rdev->pdev->subsystem_device == 0x4150)) {
+ /* Mac G5 tower 9600 */
rdev->mode_info.connector_table = CT_MAC_G5_9600;
} else
#endif /* CONFIG_PPC_PMAC */
--
1.7.1.1
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 11+ messages in thread* Re: [PATCH] drm/radeon/kms: be more pendatic about the g5 quirk
2011-06-14 15:22 ` [PATCH] drm/radeon/kms: be more pendatic about the " Alex Deucher
@ 2011-06-14 15:25 ` Michel Dänzer
2011-06-14 15:27 ` [PATCH] drm/radeon/kms: be more pedantic about the g5 quirk (v2) Alex Deucher
0 siblings, 1 reply; 11+ messages in thread
From: Michel Dänzer @ 2011-06-14 15:25 UTC (permalink / raw)
To: Alex Deucher; +Cc: Joachim Henke, dri-devel
On Die, 2011-06-14 at 11:22 -0400, Alex Deucher wrote:
> I don't think Apple offered any other cards for
> this mac, so I doubt this will be an issue, but just
> to be on the safe side, check the pci ids as well.
>
> Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
> Cc: Joachim Henke <j-o@users.sourceforge.net>
> Cc: Michel Dänzer <michel@daenzer.net>
> ---
> drivers/gpu/drm/radeon/radeon_combios.c | 9 ++++++---
> 1 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/radeon_combios.c b/drivers/gpu/drm/radeon/radeon_combios.c
> index 797c8bc..e459467 100644
> --- a/drivers/gpu/drm/radeon/radeon_combios.c
> +++ b/drivers/gpu/drm/radeon/radeon_combios.c
> @@ -1553,9 +1553,12 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
> (rdev->pdev->subsystem_device == 0x4a48)) {
> /* Mac X800 */
> rdev->mode_info.connector_table = CT_MAC_X800;
> - } else if (of_machine_is_compatible("PowerMac7,2") ||
> - of_machine_is_compatible("PowerMac7,3")) {
> - /* Mac G5 9600 */
> + } else if ((of_machine_is_compatible("PowerMac7,2") ||
> + of_machine_is_compatible("PowerMac7,3")) &&
> + (rdev->pdev->device == 0x4150) &&
> + (rdev->pdev->subsystem_vendor == 0x1002) &&
> + (rdev->pdev->subsystem_device == 0x4150)) {
> + /* Mac G5 tower 9600 */
> rdev->mode_info.connector_table = CT_MAC_G5_9600;
> } else
> #endif /* CONFIG_PPC_PMAC */
Reviewed-by: Michel Dänzer <michel@daenzer.net>
Thanks!
--
Earthling Michel Dänzer | http://www.vmware.com
Libre software enthusiast | Debian, X and DRI developer
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 11+ messages in thread* [PATCH] drm/radeon/kms: be more pedantic about the g5 quirk (v2)
2011-06-14 15:25 ` Michel Dänzer
@ 2011-06-14 15:27 ` Alex Deucher
0 siblings, 0 replies; 11+ messages in thread
From: Alex Deucher @ 2011-06-14 15:27 UTC (permalink / raw)
To: airlied, dri-devel; +Cc: Michel Dänzer, Joachim Henke
I don't think Apple offered any other cards for
this mac, so I doubt this will be an issue, but just
to be on the safe side, check the pci ids as well.
v2: fix spelling in commit message
Reviewed-by: Michel Dänzer <michel@daenzer.net>
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Cc: Joachim Henke <j-o@users.sourceforge.net>
Cc: Michel Dänzer <michel@daenzer.net>
---
drivers/gpu/drm/radeon/radeon_combios.c | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/radeon/radeon_combios.c b/drivers/gpu/drm/radeon/radeon_combios.c
index 797c8bc..e459467 100644
--- a/drivers/gpu/drm/radeon/radeon_combios.c
+++ b/drivers/gpu/drm/radeon/radeon_combios.c
@@ -1553,9 +1553,12 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
(rdev->pdev->subsystem_device == 0x4a48)) {
/* Mac X800 */
rdev->mode_info.connector_table = CT_MAC_X800;
- } else if (of_machine_is_compatible("PowerMac7,2") ||
- of_machine_is_compatible("PowerMac7,3")) {
- /* Mac G5 9600 */
+ } else if ((of_machine_is_compatible("PowerMac7,2") ||
+ of_machine_is_compatible("PowerMac7,3")) &&
+ (rdev->pdev->device == 0x4150) &&
+ (rdev->pdev->subsystem_vendor == 0x1002) &&
+ (rdev->pdev->subsystem_device == 0x4150)) {
+ /* Mac G5 tower 9600 */
rdev->mode_info.connector_table = CT_MAC_G5_9600;
} else
#endif /* CONFIG_PPC_PMAC */
--
1.7.1.1
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 11+ messages in thread
end of thread, other threads:[~2011-06-14 15:27 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-05-21 12:21 [regression] blank screen with radeondrmfb on iMac G5 (ALS) Joachim Henke
2011-05-21 15:14 ` Alex Deucher
2011-05-21 16:02 ` Michel Dänzer
2011-05-21 17:05 ` Joachim Henke
2011-06-06 16:53 ` [PATCH] drm/radeon/kms: fix mac g5 quirk Alex Deucher
2011-06-14 6:39 ` Michel Dänzer
2011-06-14 6:48 ` Alex Deucher
2011-06-14 6:57 ` Michel Dänzer
2011-06-14 15:22 ` [PATCH] drm/radeon/kms: be more pendatic about the " Alex Deucher
2011-06-14 15:25 ` Michel Dänzer
2011-06-14 15:27 ` [PATCH] drm/radeon/kms: be more pedantic about the g5 quirk (v2) Alex Deucher
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).