Bug 28229

Summary: Radeon driver not detecting HDMI monitor correctly when using KMS
Product: DRI Reporter: Magnus Jensen <magnus>
Component: DRM/RadeonAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: medium    
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Xorg.0.log-with UMS
none
Xorg.0.log - with KMS
none
dmesg-current
none
dmesg-boot
none
edid from "/sys/class/drm/card0-HDMI Type A-1/"
none
dmesg after fix patch none

Description Magnus Jensen 2010-05-24 04:38:55 UTC

    
Comment 1 Magnus Jensen 2010-05-24 04:47:24 UTC
Created attachment 35821 [details]
Xorg.0.log-with UMS
Comment 2 Magnus Jensen 2010-05-24 04:50:17 UTC
When loading radeon module with modeset=1
the dmesg gets flooded with:

[drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 255
[drm:drm_edid_block_valid] *ERROR* Raw EDID:
<3>02 03 20 f1 4c 05 04 03 14 93 12 01 02 11 15 16  .. .L...........
<3>1e 23 09 07 07 83 01 00 00 66 03 0c 00 10 00 80  .#.......f......
<3>00 1d 00 bc 52 d0 1e 20 b8 28 55 40 bd fa 10 00  ....R.. .(U@....
<3>00 1e 01 1d 80 18 71 1c 16 20 58 2c 25 00 bd fa  ......q.. X,%...
<3>10 00 00 9e 8c 0a d0 8a 20 e0 2d 10 10 3e 96 00  ........ .-..>..
<3>bd fa 10 00 00 18 01 1d 80 d0 72 1c 16 20 10 2c  ..........r.. .,
<3>25 80 bd fa 10 00 00 9e 01 1d 00 bc 52 d0 1e 20  %...........R.. 
<3>b8 28 55 40 bd fa 10 00 00 1e 00 00 00 00 00 a2  .(U@............

the drmradeonfb also sets a lower resolution than normal (1024x768)
Comment 3 Magnus Jensen 2010-05-24 04:54:39 UTC
Created attachment 35822 [details]
Xorg.0.log - with KMS
Comment 4 Magnus Jensen 2010-05-24 04:56:14 UTC
Created attachment 35823 [details]
dmesg-current
Comment 5 Magnus Jensen 2010-05-24 05:01:56 UTC
Created attachment 35824 [details]
dmesg-boot
Comment 6 Magnus Jensen 2010-05-24 06:02:23 UTC
I should add that i'm trying drm-radeon-testing from git repository
and i have also tried compiling latest 2.6.34 git from kernel.org.
Comment 7 Adam Jackson 2010-05-24 06:46:51 UTC
Just to make it clear what's going on here: the CEA extension block really does have a broken checksum, although it looks correct otherwise.
Comment 8 Magnus Jensen 2010-05-24 08:25:54 UTC
so i guess it's not a bug then, but isn't there any way to circumvent the problem, other that flashing a new edid or buying a new tv?
(b.t.w i managed to get correct screen resolution in X by using CustomEDID option in xorg.conf with an edid bin i grabbed using 2.6.33.3 kernel, but only if i load X before module, but then i still get no HDMI audio because xf86-video-ati doesn't get the modesetting)

What i thought was strange was that it doesn't react this way on stock 2.6.33.3 kernel. On that kernel HDMI works beautifully with audio.
 i am pretty sure i compiled the kernel correctly.

So i think it may be a regression (or rather progression since my EDID seems to  really be broken) that causes trouble for me with the drm driver.
Comment 9 Alex Deucher 2010-05-24 08:26:51 UTC
Should we add a quirk for this particular monitor or add some logic to use edids with faulty checksums?  It would probably be better to attempt to use an edid than to not, at least for digital monitors.
Comment 10 Magnus Jensen 2010-05-24 09:26:47 UTC
sorry i meant to say 2.6.33.4 that's the stock kernel in slackware64-current
Comment 11 Christian König 2010-05-24 16:26:09 UTC
Invalid checksums on CEA extension is a problem I have found on a couple of A/V receivers + TV combinations. The A/V receivers usually try to update the audio infos and CEC physical address in the CEA extension, but sometimes fails to recalculate the checksum of the block.

I would suggest to lower the error to a simple warning and try to use the infos in the extension block anyway.
Comment 12 Magnus Jensen 2010-05-24 16:38:28 UTC
Created attachment 35839 [details]
edid from "/sys/class/drm/card0-HDMI Type A-1/"

This is the edid it sees when booting with Linux kernel 2.6.33.4.
Comment 14 Magnus Jensen 2010-05-26 03:07:49 UTC
Yes that works for me. Now gets the correct output HDMI-0 not VGA, i don't have any 3d anymore though that's a different story...
Comment 15 Magnus Jensen 2010-05-26 03:11:24 UTC
Created attachment 35862 [details]
dmesg after fix patch

Just wanted u to know that dmesg still get's a lot of these error messages
Comment 16 Magnus Jensen 2010-05-26 08:03:45 UTC
Thank you! the fix works perfect AFAI can see. I had to apply it manually in the drm-radeon-testing tree since something breaks 3D and XV for me in the d-r-n branch.
but now HDMI picture,audio and 3d is working perfectly for me, using d-r-t branch
with patch applied.
Comment 17 Alex Deucher 2010-05-26 08:09:23 UTC
(In reply to comment #16)
> Thank you! the fix works perfect AFAI can see. I had to apply it manually in
> the drm-radeon-testing tree since something breaks 3D and XV for me in the
> d-r-n branch.
> but now HDMI picture,audio and 3d is working perfectly for me, using d-r-t
> branch
> with patch applied.

You need this patch if you are using the drm-next branch:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=4fa07bf146aaee1e8409d35ab08624041c2e3867

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.