[PATCH] DRM: ignore invalid EDID extensions

Sam Tygier samtygier at yahoo.co.uk
Fri Oct 1 04:15:25 PDT 2010


On 22/09/10 22:55, Adam Jackson wrote:
> Yeah, I hate to just drop extension blocks, but it's better than the
> alternative.  They're optional for a reason I suppose.
>
>>>> For my EIZO S2242W the base block is fine, but the extension block is
>>>> all zeros. Without this patch I get no X and no VTs.
>>>
>>> I suspect what's actually happening there is that we're failing to get
>>> the extension block, not that it's being returned as zeros.
>>
>> Could this be fixed? Anything I could try?
>
> Depends on what your driver is, I suspect.  Did it ever work?
>
> - ajax

I have git bisected, which takes me to

61e57a8d72f2336faf39b5d940215cf085e01e6e is the first bad commit
commit 61e57a8d72f2336faf39b5d940215cf085e01e6e
Author: Adam Jackson <ajax at redhat.com>
Date:   Mon Mar 29 21:43:18 2010 +0000

     drm/edid: Fix secondary block fetch.
     
     This makes fetching the second EDID block on HDMI monitors actually
     work.  DDC can't transfer more than 128 bytes at a time.  Also,
     rearrange the code so the pure DDC bits are separate from block parse.
     
     Signed-off-by: Adam Jackson <ajax at redhat.com>
     Signed-off-by: Dave Airlie <airlied at redhat.com>

:040000 040000 a0b022ba678bd92c46e2ecba63d5f2c78f69b0c3 77e672eec31b83465f6fe8ee3ca6c0153a0af230 M	drivers
:040000 040000 99e72b1f7f6b4016606ed3388b902a5f39b9c13b 3b1e49f0fb674e4974a77021bc90dfce7098ecc6 M	include

full log

git bisect start
# good: [e40152ee1e1c7a63f4777791863215e3faa37a86] Linus 2.6.34
git bisect good e40152ee1e1c7a63f4777791863215e3faa37a86
# bad: [815c4163b6c8ebf8152f42b0a5fd015cfdcedc78] Linux 2.6.35-rc4
git bisect bad 815c4163b6c8ebf8152f42b0a5fd015cfdcedc78
# good: [c316ba3b518bc35ce5aef5421135220389f4eb98] Merge branch 'linux-next' of git://git.infradead.org/ubi-2.6
git bisect good c316ba3b518bc35ce5aef5421135220389f4eb98
# bad: [6d94d4081048756df78444a07201156f4930fe48] lis3: interrupt handlers for 8bit wakeup and click events
git bisect bad 6d94d4081048756df78444a07201156f4930fe48
# bad: [6e80e8ed5eb92d0112674aabe82951266a6a1051] Merge branch 'for-2.6.35' of git://git.kernel.dk/linux-2.6-block
git bisect bad 6e80e8ed5eb92d0112674aabe82951266a6a1051
# good: [ac3ee84c604502240122c47b52f0542ec8774f15] Merge branch 'dbg-early-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb
git bisect good ac3ee84c604502240122c47b52f0542ec8774f15
# bad: [59534f7298c5e28aaa64e6ed550e247f64ee72ae] Merge branch 'drm-for-2.6.35' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6
git bisect bad 59534f7298c5e28aaa64e6ed550e247f64ee72ae
# bad: [7547a917fa5f3b2406f52c7dcf7ec9ad3c8532eb] Merge branch 'drm-ttm-unmappable' into drm-core-next
git bisect bad 7547a917fa5f3b2406f52c7dcf7ec9ad3c8532eb
# good: [c2b41276da65481d36311a13d69020d150861c43] Merge branch 'drm-ttm-pool' into drm-core-next
git bisect good c2b41276da65481d36311a13d69020d150861c43
# bad: [7fff400be6fbf64f10abca9939718aaf1d61c255] Merge branch 'drm-fbdev-cleanup' into drm-core-next
git bisect bad 7fff400be6fbf64f10abca9939718aaf1d61c255
# bad: [171fdd892979081e8a9b1a67ce86c7008b7abbdf] drm/modes: Fix interlaced mode names
git bisect bad 171fdd892979081e8a9b1a67ce86c7008b7abbdf
# bad: [59d8aff6e4fc2705053e7ce2948b51f7fe507536] drm/edid: Remove some silly comments
git bisect bad 59d8aff6e4fc2705053e7ce2948b51f7fe507536
# bad: [2b470ab075b30aaeeab29d67b8f1f111096a5fbe] drm/edid: Remove a redundant check
git bisect bad 2b470ab075b30aaeeab29d67b8f1f111096a5fbe
# bad: [fbcc06b6439024b967cf6927b95d303f4c3c1a4f] drm/edid: Remove some misleading comments
git bisect bad fbcc06b6439024b967cf6927b95d303f4c3c1a4f
# bad: [61e57a8d72f2336faf39b5d940215cf085e01e6e] drm/edid: Fix secondary block fetch.
git bisect bad 61e57a8d72f2336faf39b5d940215cf085e01e6e

before 61e57a8d72f2336faf39b5d940215cf085e01e6e, the monitor is detected and gives the correct resolution and everything boots normally with kms.

after i get the
radeon 0000:08:00.0: DVI-I-1: EDID block 1 invalid.
and no X or VTs, unless i disable KMS (in which case it boots fine)

Is there anything else you want me to test? would it be helpful for me to start a bug on fdo?

Thanks

Sam



More information about the dri-devel mailing list