[Intel-gfx] [PATCH] drm/i915: prefer VBT modes for SVDO-LVDS over EDID

Chris Wilson chris at chris-wilson.co.uk
Mon Jun 10 00:48:15 CEST 2013


On Sun, Jun 09, 2013 at 11:28:12PM +0200, Daniel Vetter wrote:
> On Sun, Jun 9, 2013 at 11:16 PM, Chris Wilson <chris at chris-wilson.co.uk> wrote:
> > On Sun, Jun 09, 2013 at 10:58:38PM +0200, Daniel Vetter wrote:
> >> In
> >>
> >> commit 53d3b4d7778daf15900867336c85d3f8dd70600c
> >> Author: Egbert Eich <eich at suse.de>
> >> Date:   Tue Jun 4 17:13:21 2013 +0200
> >>
> >>     drm/i915/sdvo: Use &intel_sdvo->ddc instead of intel_sdvo->i2c for DDC
> >>
> >> Ebgert Eich fixed a long-standing bug where we simply used a
> >> non-working i2c controller to read the EDID for SDVO-LVDS panels.
> >> Unfortunately some machines seem to not be able to cope with the mode
> >> provided in the EDID (specifically they seem to not be able to cope
> >> with a 4x pixel mutliplier instead of a 2x one).
> >>
> >> Since it took forever to notice the breakage it's fairly safe to
> >> assume that at least for SDVO-LVDS panels the VBT contains fairly sane
> >> data. So just switch around the order and use VBT modes first.
> >>
> >> Cc: Egbert Eich <eich at suse.de>
> >> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> >> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=65524
> >> Cc: stable at vger.kernel.org
> >> Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> >
> > I can accept the argument that we need to prefer the VBT mode here to
> > paper over the apparent regression, but to not pass on the full EDID
> > modes seems dubious.
> 
> I'm not sure there's any value in additional modes. We can't really
> support frequency switching over sdvo (it'd very likely require a
> mutliplier change) and for everything else we only ever let the fixed
> mode through the fixup hook.

I am trying not to generalise from the broken behaviour on this machine.
On another machine, there may be some value in the extra modes.
Select the sanest default we can, then let the user go nuts with the
extra information.
 
> Or do you want to just add the edid so that userspace can drool in the
> information provided in there (like the panel name or serial)?

And who doesn't enjoy reading the vendor strings in the panel edid?
 
> > Even if you do choose to skip the EDID if you have a VBT mode, you could
> > write the function a little cleaner. ;-)
> 
> I don't see the potential to improve it tbh. Care to help the numb?

The goto here is a little overkill and adds more code than if you wrote
the function simply.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list