summaryrefslogtreecommitdiff
path: root/src/i830_bios.c
AgeCommit message (Collapse)Author
2009-03-31Disable LVDS config parsing from VBT for nowZhenyu Wang
As wider tests showed that this doesn't work for all VBIOS, so disable it for now and reenable it after we get reliable method. (cherry picked from commit 375b2e40fcb17e94538a75392950e2533c1bb031)
2009-03-19Set SSC frequency for 8xx chips correctlyMa Ling
All 8xx class chips have the 66/48 split, not just 855. Fixes #18358. (cherry picked from commit 85e6b528582c2397ee9eb2132cd0d05ce12eb43d)
2009-03-02Skip LVDS config parsing on pre-9xx chips.Zhenyu Wang
855GM laptops seems pretty broken when parsing this block.
2009-02-25Use LVDS config in Driver feature BDB for integrated LVDS checkZhenyu Wang
The LVDS config bits in VBT driver feature block is used by vendor to identify the board implement of integrated LVDS/eDP or SDVO LVDS. And video bios uses these bits for LVDS enabling or not. So check these bits for integrated LVDS might eliminate more quirks.
2009-01-26Fixup bogus VBT modes when detectedJesse Barnes
Several VBT modes out in the wild have H or VSyncEnd values greater than the H or VTotal value. This clearly ends up creating a bad mode, causing some panels to either ignore the timing or display some sort of corrupt image. Check for these cases and fix them up by default, making things work for several Dell and Sony machines. Fixes FDO bug #17292.
2008-12-08Don't smash fixed_mode if skip_panel_detect is set.Carl Worth
Without this change, setting LVDSFixedMode to false is not effective as i830_bios_init calls i830_parse_panel_data which in turns sets a fixed_mode. To fix this we still call parse_panel_data to set the various lvds_options but we return before setting fixed_mode.
2008-10-02Work around libpciaccess reporting a 0 rom size by guessing.Eric Anholt
I required the following patch on top of this to work around libpciaccess brokenness. libpciaccess reports 0 rom size if there's no rom resource, even if the rom file exists in sysfs.
2008-10-01Eliminate INT10 call to get BIOS contentsKeith Packard
libpciaccess (and the old X server PCI code as well) provides a function to get the ROM contents. Code to use that was already present in the driver and used if the INT10 function failed. Skip the INT10 and just use libpciaccess as that eliminates several module loads and scary use of vm86. Signed-off-by: Keith Packard <keithp@keithp.com>
2008-09-30Use VBT LFP info pointers by defaultJesse Barnes
On some machines it appears that the LFP info pointers give us more accurate panel info than if we index into the LFP data table using the panel type index. Early reports indicate that using the pointers doesn't cause regressions, so switch to them by default to help 8xx machines. Fixes bug 17310 (and hopefully 17658 too).
2008-08-08Initial port of kernel modesetting from old intel-kernelmode branchJesse Barnes
Thanks airlied!
2008-08-05Reorganize VBIOS codeJesse Barnes
Make VBT parsing happen at driver init time rather than in each output init function, to save time and better separate VBIOS code into i830_bios.[ch]. The changes end up touching the output files due to field name changes, and allow us to reorder & simplify our LFP mode detection code.
2008-07-10Improve VBIOS feature detection, add SSC supportJesse Barnes
Improve the VBIOS feature detection and use it to find whether the platform supports spread spectrum clocking. Use the specified reference clock, but disable SSC if multiple heads are active, since it can cause problems in cloned configurations. Reviewed by Nanhai Zou.
2008-03-28Include missing stdlib.h for free()Matthias Hopf
2008-03-11Remove i830+ driver's use of CARD*/INT* types for great justice.Eric Anholt
Several uses are actually left, which are determined by the X Server interfaces we're implementing.
2007-08-26Mechanical API conversions for libpciaccess.Keith Packard
Uncomplicated API transistions for libpciaccess usage: Legacy xf86 API libpciaccess API --------------- ---------------- xf86ReadPciBIOS pci_device_read_rom pciReadWord pci_device_cfg_read_u16 pciWriteByte pci_device_cfg_write_u8 And, more use of the API-independent DEVICE_ID/SUBVENDOR_ID/SUBSYS_ID macros to pull PCI identification data from the underlying structure.
2007-05-16Add i830_bios_get_aim_data_block to read AIM data from BIOSKeith Packard
Add-in modules have per-module data in the BIOS which contains configuration information which cannot be entirely discovered.
2007-04-03Move a bunch of debugging verbosity under Option "ModeDebug".Eric Anholt
2007-02-13Attempt to detect panel fixed mode from EDID or current programmed mode.Eric Anholt
These two sources are placed in higher priority to the BIOS data when available, since the BIOS data has proven unreliable. The BIOS data is still read, and warnings printed if it doesn't match what we probe. The BIOS data remains useful for the situation where we want to turn on LVDS but there is no EDID available and no current mode programmed (i.e. booting with VGA or TV connected).
2006-12-06More LVDS fixed mode fixing: use the EDID DTD's blank length.Eric Anholt
2006-12-06Fix LVDS fixed mode code after generic-mode-set.Eric Anholt
2006-11-03Use VBE only temporarily to fetch BIOS rom imageKeith Packard
(cherry picked from 6a9386651785afc70a29e355255e8295b321f28e commit)
2006-09-27Merge branch 'randr-1.2' into modesettingEric Anholt
2006-09-22Restructure i830_bios.c so we don't leak a copy of the BIOS per generation.Eric Anholt
2006-09-20Merge branch 'modesetting-origin' into modesettingKeith Packard
2006-09-20Add standard C headers to fix build on some systems after xf86_ansic.h removal.Linus Torvals
This appears to have been hidden for others by header pollution in X Server headers.
2006-09-19Merge branch 'modesetting-origin' into modesettingKeith Packard
2006-09-08Remove xf86_ansic.h usage.Eric Anholt
2006-08-31verbose debug message for panel sync dataKeith Packard
2006-05-04Use xf86int10Addr() when calculating an address to read the video BIOS from, outEric Anholt
of int10's copy. Fixes a crash on FreeBSD.
2006-04-17Disable the BIOS dump-to-file since it's a trivial local DOS, and I can just askEric Anholt
people to turn it on and recompile when I need to.
2006-04-16Bug #6589: Use alternate offsets to successfully get at the panel data forEric Anholt
some broken video BIOSes.
2006-04-15Check for LVDS BIOS tables exactly once at startup. While there, dump the BIOSEric Anholt
data to /tmp/xf86-video-intel-VBIOS, for offline debugging.
2006-04-10Save/restore PFIT_CONTROL. Eliminate compiler warningsKeith Packard
2006-04-06autodetect LVDS dither. Fix 16bpp depth selectionKeith Packard
2006-04-06Fill in clock information from VBT table, so that a good clock value getsEric Anholt
requested for choosing divisors.
2006-04-06Port code from radeon driver for panel mode validation, which will hopefully getEric Anholt
the right mode chosen on the VAIO. Untested.
2006-04-06Make auto panel fitting work by pulling LVDS timing EDID info out of the staticEric Anholt
BIOS table, and always using that.
2006-04-06Add more VBT reading, so we find the panel size.Eric Anholt
2006-04-06Start interpreting VBT information with the goal of pulling out LVDS timingsEric Anholt
for panel fitting.