drm/radeon/kms: be more pedantic about the g5 quirk (v2)
authorAlex Deucher <alexdeucher@gmail.com>
Tue, 14 Jun 2011 15:27:38 +0000 (15:27 +0000)
committerDave Airlie <airlied@redhat.com>
Thu, 16 Jun 2011 06:27:28 +0000 (16:27 +1000)
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>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/radeon/radeon_combios.c

index 797c8bcbb6a4335924a8a3fe10abce4b8cb9f45f..e4594676a07c2c4bdb0c1f3575e91e8e98c8265d 100644 (file)
@@ -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 */