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

Ankit Nautiyal ankit.k.nautiyal at intel.com
Wed Mar 9 06:47:42 UTC 2022


This patch adds the interrupt handler 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 2c0354f092a2..b2eda19f7236 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