Age | Commit message (Collapse) | Author |
|
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)
|
|
All 8xx class chips have the 66/48 split, not just 855.
Fixes #18358.
(cherry picked from commit 85e6b528582c2397ee9eb2132cd0d05ce12eb43d)
|
|
855GM laptops seems pretty broken when parsing this block.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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>
|
|
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).
|
|
Thanks airlied!
|
|
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.
|
|
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.
|
|
|
|
Several uses are actually left, which are determined by the X Server
interfaces we're implementing.
|
|
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.
|
|
Add-in modules have per-module data in the BIOS which contains configuration
information which cannot be entirely discovered.
|
|
|
|
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).
|
|
|
|
|
|
(cherry picked from 6a9386651785afc70a29e355255e8295b321f28e commit)
|
|
|
|
|
|
|
|
This appears to have been hidden for others by header pollution in X Server
headers.
|
|
|
|
|
|
|
|
of int10's copy. Fixes a crash on FreeBSD.
|
|
people to turn it on and recompile when I need to.
|
|
some broken video BIOSes.
|
|
data to /tmp/xf86-video-intel-VBIOS, for offline debugging.
|
|
|
|
|
|
requested for choosing divisors.
|
|
the right mode chosen on the VAIO. Untested.
|
|
BIOS table, and always using that.
|
|
|
|
for panel fitting.
|