Bug 34082 - Incorrect / missing device id in radeon_atombios.c
Summary: Incorrect / missing device id in radeon_atombios.c
Status: CLOSED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: Video(DRI - non Intel) (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_video-dri
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-04-29 09:56 UTC by Sampo Laaksonen
Modified: 2012-06-13 14:56 UTC (History)
2 users (show)

See Also:
Kernel Version: 2.6.38+
Subsystem:
Regression: No
Bisected commit-id:


Attachments
Oops. Should have attached the patch instead of copy/paste. (853 bytes, patch)
2011-04-29 10:02 UTC, Sampo Laaksonen
Details | Diff
just add the new id to the existing quirk (1.56 KB, patch)
2011-04-29 16:20 UTC, Alex Deucher
Details | Diff

Description Sampo Laaksonen 2011-04-29 09:56:46 UTC
I have an Acer TravelMate 5730, and the scenario described around line 434 in radeon_atombios.c applies to this model as well. The problem is that the 5730 has a different device id than 5730G (at least my machine has). Changing the relevant id from 0x95c4 to 0x9591 fixes everything for me.

Without changing the id, HDMI output works only if I turn it off with xrandr and then use DVI (which this laptop doesn't have) and it doesn't even work that well then, I also get lots of invalid EDID spam in dmesg.

...
Apr 28 23:00:26 localhost kernel: [ 3476.326407] [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID
Apr 28 23:02:19 localhost kernel: [ 3589.819736] [drm:radeon_dvi_detect] *ERROR* HDMI-A-1: probed a monitor but no|invalid EDID
Apr 28 23:04:02 localhost kernel: [ 3692.619727] [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID
Apr 28 23:05:24 localhost kernel: [ 3774.783055] [drm:radeon_dvi_detect] *ERROR* HDMI-A-1: probed a monitor but no|invalid EDID
...

This patch fixes the problems mentioned above. It just copies the entry for 5730G and changes the device id.


diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c b/drivers/gpu/drm/radeon/radeon_atombios.c
index f5d12fb..d706df5 100644
--- a/drivers/gpu/drm/radeon/radeon_atombios.c
+++ b/drivers/gpu/drm/radeon/radeon_atombios.c
@@ -451,6 +451,18 @@ static bool radeon_atom_apply_quirks(struct drm_device *dev,
 		}
 	}
 
+  /* Same as above, but for Acer Travelmate 5730 */
+	if ((dev->pdev->device == 0x9591) &&
+	    (dev->pdev->subsystem_vendor == 0x1025) &&
+	    (dev->pdev->subsystem_device == 0x013c)) {
+		if ((*connector_type == DRM_MODE_CONNECTOR_DVII) &&
+		    (supported_device == ATOM_DEVICE_DFP1_SUPPORT)) {
+			/* actually it's a DVI-D port not DVI-I */
+			*connector_type = DRM_MODE_CONNECTOR_DVID;
+			return false;
+		}
+	}
+
 	/* XFX Pine Group device rv730 reports no VGA DDC lines
 	 * even though they are wired up to record 0x93
 	 */
Comment 1 Sampo Laaksonen 2011-04-29 10:02:26 UTC
Created attachment 55892 [details]
Oops. Should have attached the patch instead of copy/paste.
Comment 2 Alex Deucher 2011-04-29 16:20:38 UTC
Created attachment 55902 [details]
just add the new id to the existing quirk

Here's the patch I'll be sending to Dave.  Thanks!
Comment 3 Florian Mickler 2011-05-10 06:34:30 UTC
A patch referencing this bug report has been merged in v2.6.39-rc7:

commit 4f87af46107499415afd238be104587b5a9d7ac3
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Wed May 4 11:41:47 2011 -0400

    drm/radeon/kms: add pci id to acer travelmate quirk for 5730

Note You need to log in before you can comment on or make changes to this bug.