Add quirk for pre-915s with working PFIT regs
The regs are undocumented, but on some machines they work fine, so add this quirk to indicate it.
This commit is contained in:
parent
7a1cc48276
commit
646bbdc4b6
|
|
@ -970,6 +970,7 @@ extern const int I830CopyROP[16];
|
|||
#define QUIRK_PIPEA_FORCE 0x00000008
|
||||
#define QUIRK_IVCH_NEED_DVOB 0x00000010
|
||||
#define QUIRK_RESET_MODES 0x00000020
|
||||
#define QUIRK_PFIT_SAFE 0x00000040
|
||||
extern void i830_fixup_devices(ScrnInfoPtr);
|
||||
|
||||
#endif /* _I830_H_ */
|
||||
|
|
|
|||
|
|
@ -999,8 +999,8 @@ i830_lvds_create_resources(xf86OutputPtr output)
|
|||
* Panel fitting control
|
||||
*/
|
||||
|
||||
/* XXX Disable panel fitting setting on pre-915. */
|
||||
if (!IS_I9XX(pI830))
|
||||
/* Disable panel fitting setting on untested pre-915 chips */
|
||||
if (!IS_I9XX(pI830) && !(pI830->quirk_flag & QUIRK_PFIT_SAFE))
|
||||
return;
|
||||
|
||||
panel_fitting_atom = MakeAtom(PANEL_FITTING_NAME,
|
||||
|
|
|
|||
|
|
@ -161,6 +161,15 @@ static void i830_dmi_dump(void)
|
|||
DMIID_DUMP(chassis_asset_tag);
|
||||
}
|
||||
|
||||
/*
|
||||
* Old chips have undocumented panel fitting registers. Some of them actually
|
||||
* work; this quirk indicates that.
|
||||
*/
|
||||
static void quirk_pfit_safe (I830Ptr pI830)
|
||||
{
|
||||
pI830->quirk_flag |= QUIRK_PFIT_SAFE;
|
||||
}
|
||||
|
||||
/*
|
||||
* Some machines hose the display regs regardless of the ACPI DOS
|
||||
* setting, so we need to reset modes at ACPI event time.
|
||||
|
|
@ -293,6 +302,8 @@ static i830_quirk i830_quirk_list[] = {
|
|||
/* HP Pavilion ze4944ea needs pipe A force quirk (See LP: #242389) */
|
||||
{ PCI_CHIP_I855_GM, 0x103c, 0x3084, quirk_pipea_force },
|
||||
|
||||
{ PCI_CHIP_I855_GM, 0x161f, 0x2030, quirk_pfit_safe },
|
||||
|
||||
/* ThinkPad X40 needs pipe A force quirk */
|
||||
{ PCI_CHIP_I855_GM, 0x1014, 0x0557, quirk_pipea_force },
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue