[PATCH 2/2] drm/i915: don't quirk away LVDS on D510MOV

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



dmi_check_system() matches the D510MO no LVDS quirk for D510MOV
too. Reverse quirk the quirk.

Signed-off-by: Jani Nikula <jani.nikula at intel.com>
---
 drivers/gpu/drm/i915/intel_lvds.c |   15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
index 9451d38..c610917 100644
--- a/drivers/gpu/drm/i915/intel_lvds.c
+++ b/drivers/gpu/drm/i915/intel_lvds.c
@@ -502,6 +502,19 @@ static const struct drm_encoder_funcs intel_lvds_enc_funcs = {
 	.destroy = intel_encoder_destroy,
 };
 
+/* These systems have LVDS but also match the no lvds quirk table... */
+static const struct dmi_system_id intel_yes_lvds[] = {
+	{
+		.ident = "Intel D510MOV",
+		.matches = {
+			DMI_MATCH(DMI_BOARD_VENDOR, "Intel"),
+			DMI_MATCH(DMI_BOARD_NAME, "D510MOV"),
+		},
+	},
+
+	{ }	/* terminating entry */
+};
+
 static int __init intel_no_lvds_dmi_callback(const struct dmi_system_id *id)
 {
 	DRM_INFO("Skipping LVDS initialization for %s\n", id->ident);
@@ -893,7 +906,7 @@ bool intel_lvds_init(struct drm_device *dev)
 		return false;
 
 	/* Skip init on machines we know falsely report LVDS */
-	if (dmi_check_system(intel_no_lvds))
+	if (!dmi_check_system(intel_yes_lvds) && dmi_check_system(intel_no_lvds))
 		return false;
 
 	pin = GMBUS_PORT_PANEL;
-- 
1.7.10.4



[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux