forked from Minki/linux
drm/i915: Fix LVDS presence check
Assume that either the presence of an LVDS entry in the VBT or an ACPI lid device indicates an LVDS device. ACPI lid alone is not sufficient. Signed-off-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
parent
05dd8f973f
commit
38b3037ee4
@ -1031,19 +1031,14 @@ void intel_lvds_init(struct drm_device *dev)
|
||||
if (dmi_check_system(intel_no_lvds))
|
||||
return;
|
||||
|
||||
if (!lvds_is_present_in_vbt(dev)) {
|
||||
DRM_DEBUG_KMS("LVDS is not present in VBT\n");
|
||||
/*
|
||||
* Assume LVDS is present if there's an ACPI lid device or if the
|
||||
* device is present in the VBT.
|
||||
*/
|
||||
if (!lvds_is_present_in_vbt(dev) && !intel_lid_present()) {
|
||||
DRM_DEBUG_KMS("LVDS is not present in VBT and no lid detected\n");
|
||||
return;
|
||||
}
|
||||
/* Assume that any device without an ACPI LID device also doesn't
|
||||
* have an integrated LVDS. We would be better off parsing the BIOS
|
||||
* to get a reliable indicator, but that code isn't written yet.
|
||||
*
|
||||
* In the case of all-in-one desktops using LVDS that we've seen,
|
||||
* they're using SDVO LVDS.
|
||||
*/
|
||||
if (!intel_lid_present())
|
||||
return;
|
||||
|
||||
if (IS_IGDNG(dev)) {
|
||||
if ((I915_READ(PCH_LVDS) & LVDS_DETECTED) == 0)
|
||||
|
Loading…
Reference in New Issue
Block a user