[PATCH 9/9] drm/i915: Add SCDC Read Request Interrupt handler

Ankit Nautiyal ankit.k.nautiyal at intel.com
Mon Mar 7 05:39:05 UTC 2022


This patch adds the interrupt handler for for SCDC Read requests
from HDMI sinks. The handler is called from SCDC work function
for the HDMI port where interrupt is received.

Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal at intel.com>
---
 drivers/gpu/drm/i915/i915_irq.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index b66c19ab9a66..6b343bfcd755 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -242,9 +242,22 @@ static void scdc_rr_work_func(struct work_struct *work)
 {
 	struct drm_i915_private *dev_priv =
 		container_of(work, struct drm_i915_private, scdc_rr.scdc_rr_work);
+	struct intel_encoder *encoder;
+	enum scdc_pin pin;
+
 	/* #TODO Support for SCDC for GLK,CNL */
 	if (DISPLAY_VER(dev_priv) < 11)
 		return;
+
+	for_each_intel_encoder(&dev_priv->drm, encoder) {
+		if (encoder->type != INTEL_OUTPUT_HDMI)
+			continue;
+		pin = intel_hdmi_get_scdc_pin(encoder);
+		if (pin == SCDC_PORT_NONE)
+			continue;
+		if (dev_priv->scdc_rr.event_bits & pin)
+			intel_hdmi_handle_scdc_rr(dev_priv, encoder);
+	}
 }
 
 static void
-- 
2.25.1



More information about the Intel-gfx-trybot mailing list