All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915/hdmi: Initialize SCDC registers according to spec
@ 2018-10-12 20:14 clinton.a.taylor
  2018-10-12 20:40 ` ✓ Fi.CI.BAT: success for " Patchwork
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: clinton.a.taylor @ 2018-10-12 20:14 UTC (permalink / raw)
  To: Intel-gfx

From: Clint Taylor <clinton.a.taylor@intel.com>

Initialize SCDC Source Version and TDMS_Config_0 registers to nominal
values during intel_hdmi_detect(). The i915 driver currently doesn't
implement features that require polling of the status update bits. Once
FRL, DSC, or Source Test is enabled in the driver the status flags will
need to be read by the source according to specification.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Clint Taylor <clinton.a.taylor@intel.com>
---
 drivers/gpu/drm/i915/intel_hdmi.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
index 2c53efc..ab3eac5 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -1910,6 +1910,8 @@ bool intel_hdmi_compute_config(struct intel_encoder *encoder,
 	struct drm_i915_private *dev_priv = to_i915(connector->dev);
 	struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector);
 	struct intel_encoder *encoder = &hdmi_to_dig_port(intel_hdmi)->base;
+	struct i2c_adapter *adapter =
+		intel_gmbus_get_adapter(dev_priv, intel_hdmi->ddc_bus);
 
 	DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n",
 		      connector->base.id, connector->name);
@@ -1925,6 +1927,16 @@ bool intel_hdmi_compute_config(struct intel_encoder *encoder,
 	if (intel_hdmi_set_edid(connector))
 		status = connector_status_connected;
 
+	if (connector->display_info.hdmi.scdc.supported) {
+		/* SCDC source version HDMI 2.1 Sec. 10.4.1.2 */
+		if (drm_scdc_writeb(adapter, SCDC_SOURCE_VERSION, 0x01) < 0)
+			DRM_DEBUG_KMS("Unable to set SCDC Source Version register\n");
+
+		/* Clear SCDC CONFIG_0 HDMI 2.1 Sec. 10.4.1.6 - RR_Enable Polling Only */
+		if (drm_scdc_writeb(adapter, SCDC_CONFIG_0, 0x00) < 0)
+			DRM_DEBUG_KMS("Unable to set SCDC CONFIG_0 register\n");
+	}
+
 out:
 	intel_display_power_put(dev_priv, POWER_DOMAIN_GMBUS);
 
-- 
1.9.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-10-15 16:29 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-12 20:14 [PATCH] drm/i915/hdmi: Initialize SCDC registers according to spec clinton.a.taylor
2018-10-12 20:40 ` ✓ Fi.CI.BAT: success for " Patchwork
2018-10-13  0:59 ` ✓ Fi.CI.IGT: " Patchwork
2018-10-15 13:41 ` [PATCH] " Ville Syrjälä
2018-10-15 16:30   ` Clint Taylor

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.