Thread (18 messages) flat view 18 messages, 4 authors, 2017-02-05

Re: [RFCv2 PATCH 3/5] drm/bridge: dw_hdmi: add HDMI notifier support

From: Pierre-Hugues Husson <hidden>
Date: 2017-02-05 00:23:14
Also in: dri-devel, linux-arm-kernel, linux-media

Hi

2016-11-14 16:22 GMT+01:00 Hans Verkuil [off-list ref]:
From: Russell King <redacted>

Add HDMI notifiers to the HDMI bridge driver.
quoted hunk ↗ jump to hunk
@@ -1448,9 +1450,11 @@ static int dw_hdmi_connector_get_modes(struct drm_connector *connector)
                hdmi->sink_is_hdmi = drm_detect_hdmi_monitor(edid);
                hdmi->sink_has_audio = drm_detect_monitor_audio(edid);
                drm_mode_connector_update_edid_property(connector, edid);
+               hdmi_event_new_edid(hdmi->n, edid, 0);
Considering current hdmi-notifier code, the size must not be 0

Should this be done this way?
hdmi_event_new_edid(hdmi->n, edid, (edid->extensions + 1) * EDID_LENGTH);
quoted hunk ↗ jump to hunk
                ret = drm_add_edid_modes(connector, edid);
                /* Store the ELD */
                drm_edid_to_eld(connector, edid);
+               hdmi_event_new_eld(hdmi->n, connector->eld);
                kfree(edid);
        } else {
                dev_dbg(hdmi->dev, "failed to get edid\n");
@@ -1579,6 +1583,12 @@ static irqreturn_t dw_hdmi_irq(int irq, void *dev_id)
                        dw_hdmi_update_phy_mask(hdmi);
                }
                mutex_unlock(&hdmi->mutex);
+
+               if ((phy_stat & (HDMI_PHY_RX_SENSE | HDMI_PHY_HPD)) = 0)
+                       hdmi_event_disconnect(hdmi->n);
+               else if ((phy_stat & (HDMI_PHY_RX_SENSE | HDMI_PHY_HPD)) =
+                        (HDMI_IH_PHY_STAT0_RX_SENSE | HDMI_PHY_HPD))
+                       hdmi_event_connect(hdmi->n);
On rk3288, I never get this event (connect) to trigger, everything
else (disconnect/edid/eld) are ok though. (which is enough for CEC)
I'll need some extra debugging...
Do you have a platform to test on, which does trigger this event?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help