[PATCH] i810: Add workaround for bad BIOS mode on Fujitsu laptops
tony at atomide.com
Mon Jan 29 10:40:01 PST 2007
* Eric Anholt <eric at anholt.net> [070129 09:21]:
> On Sun, 2007-01-28 at 23:32 -0800, Tony Lindgren wrote:
> > * Keith Packard <keithp at keithp.com> [070128 23:22]:
> > > On Sun, 2007-01-28 at 22:48 -0800, Tony Lindgren wrote:
> > > > Hi all,
> > > >
> > > > Just hacking a bit to get the i810 modesetting driver to work on my
> > > > laptop :) Here are few patches.
> > >
> > > We've started adding a list of 'quirks' to the EDID parsing stuff;
> > > perhaps we need a similar list of quirks for the BIOS data.
> > OK. Originally when trying to fix this I was thinking that the BIOS
> > mode should be verified against all the probed modes, and if the BIOS
> > mode does not match any VESA modes, then ignore the BIOS mode. But
> > then I noticed that the probed modes use BIOS mode for some
> > checks..
> > Maybe there should be some option to ignore BIOS mode? And then have
> > some quirks for known bad BIOS modes.
> > > It looks like you're just whacking the hsync values; can you describe a
> > > bit more verbosely what happens when you use the BIOS mode? Obviously,
> > > if we can fix up the driver so that the BIOS mode works, that would be
> > > nicer than discovering that the BIOS data is actually broken.
> > Yeah, the LVDS is streched out estimated 2x horizontally, vertical is
> > OK without the patch. Are you suggesting that the bug would be in the
> > BIOS mode parsing?
> > > Can the BIOS set the mode correctly?
> > I don't think so unless there's a bug in parsing the BIOS mode.
> > I guess I could try to dump the BIOS, or let me know what data
> > you need.
> Yeah, the BIOS parsing code is based on how Intel's BIOS tables are
> formatted, but your laptop manufacturer may have chosen to mess with
> things. We've already got one workaround for how a vendor played with
> the formatting, and could certainly do more if that's appropriate. The
> other possibility is if your laptop happens to expose DDC for the panel,
> we could fix the driver to trust DDC EDID data over what we pull out of
> the BIOS. However, if you don't have DDC, I'd be fine with adding your
No DDC here for the panel unless there's something else that needs to be
enabled that I'm not aware of. I'll try to play with the BIOS parsing
when I have a chance.
More information about the xorg