[PATCH 3/4] drm: Add PPS T12 Quirk for SKL 6700hq to EDID quirks

Manasi Navare manasi.d.navare at intel.com
Mon Jun 26 23:50:35 UTC 2017


Signed-off-by: Manasi Navare <manasi.d.navare at intel.com>
---
 drivers/gpu/drm/drm_edid.c  | 10 ++++++++++
 include/drm/drm_connector.h |  7 +++++++
 2 files changed, 17 insertions(+)

diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 2e55599..a67d36e 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -82,6 +82,8 @@
 #define EDID_QUIRK_FORCE_6BPC			(1 << 10)
 /* Force 10bpc */
 #define EDID_QUIRK_FORCE_10BPC			(1 << 11)
+/* Force PPS T12 to 800ms */
+#define EDID_QUIRK_FORCE_PPS_T12		(1 << 12)
 
 struct detailed_mode_closure {
 	struct drm_connector *connector;
@@ -157,6 +159,9 @@ static const struct edid_quirk {
 
 	/* Rotel RSX-1058 forwards sink's EDID but only does HDMI 1.1*/
 	{ "ETR", 13896, EDID_QUIRK_FORCE_8BPC },
+
+	/* SKL 6700hq eDP panel requires higher panel power cycle delay */
+	{ "LGD", 0x470, EDID_QUIRK_FORCE_PPS_T12 },
 };
 
 /*
@@ -4255,6 +4260,11 @@ int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid)
 	if (quirks & EDID_QUIRK_FORCE_12BPC)
 		connector->display_info.bpc = 12;
 
+	if (quirks & EDID_QUIRK_FORCE_PPS_T12)
+		connector->display_info.force_pps_t12 = true;
+	else
+		connector->display_info.force_pps_t12 = false;
+
 	return num_modes;
 }
 EXPORT_SYMBOL(drm_add_edid_modes);
diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
index ae5b7dc..09fc0db 100644
--- a/include/drm/drm_connector.h
+++ b/include/drm/drm_connector.h
@@ -261,6 +261,13 @@ struct drm_display_info {
 	 * @hdmi: advance features of a HDMI sink.
 	 */
 	struct drm_hdmi_info hdmi;
+
+	/**
+	 * @force_pps_t12: Boolean to decide if need to force
+	 * pps_t12 delay for eDP panels to something other than
+	 * VBT value.
+	 */
+	bool force_pps_t12;
 };
 
 int drm_display_info_set_bus_formats(struct drm_display_info *info,
-- 
2.1.4



More information about the Intel-gfx-trybot mailing list