Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 38b3037e authored by Adam Jackson's avatar Adam Jackson Committed by Eric Anholt
Browse files

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: default avatarAdam Jackson <ajax@redhat.com>
Signed-off-by: default avatarEric Anholt <eric@anholt.net>
parent 05dd8f97
Loading
Loading
Loading
Loading
+6 −11
Original line number Original line Diff line number Diff line
@@ -1031,19 +1031,14 @@ void intel_lvds_init(struct drm_device *dev)
	if (dmi_check_system(intel_no_lvds))
	if (dmi_check_system(intel_no_lvds))
		return;
		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
		return;
	 * device is present in the VBT.
	}
	/* 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())
	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;
		return;
	}


	if (IS_IGDNG(dev)) {
	if (IS_IGDNG(dev)) {
		if ((I915_READ(PCH_LVDS) & LVDS_DETECTED) == 0)
		if ((I915_READ(PCH_LVDS) & LVDS_DETECTED) == 0)