Use the helper function to update the connector's information. This
makes sure that HDMI-related events are handled in a generic way.
Currently it is limited to the HDMI state reporting to the sound system.

Signed-off-by: Dmitry Baryshkov <[email protected]>
---
 drivers/gpu/drm/vc4/vc4_hdmi.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c
index 
d0a9aff7ad43016647493263c00d593296a1e3ad..d83f587ab69f4b8f7d5c37a00777f11da8301bc1
 100644
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
@@ -401,13 +401,16 @@ static void vc4_hdmi_handle_hotplug(struct vc4_hdmi 
*vc4_hdmi,
         */
 
        if (status == connector_status_disconnected) {
+               drm_atomic_helper_connector_hdmi_update_edid(connector, NULL);
                cec_phys_addr_invalidate(vc4_hdmi->cec_adap);
                return;
        }
 
        drm_edid = drm_edid_read_ddc(connector, vc4_hdmi->ddc);
 
-       drm_edid_connector_update(connector, drm_edid);
+       // TODO: use drm_atomic_helper_connector_hdmi_update() once it gains
+       // CEC support
+       drm_atomic_helper_connector_hdmi_update_edid(connector, drm_edid);
        cec_s_phys_addr(vc4_hdmi->cec_adap,
                        connector->display_info.source_physical_address, false);
 
@@ -487,7 +490,9 @@ static int vc4_hdmi_connector_get_modes(struct 
drm_connector *connector)
         */
 
        drm_edid = drm_edid_read_ddc(connector, vc4_hdmi->ddc);
-       drm_edid_connector_update(connector, drm_edid);
+       // TODO: use drm_atomic_helper_connector_hdmi_update() once it gains
+       // CEC support
+       drm_atomic_helper_connector_hdmi_update_edid(connector, drm_edid);
        cec_s_phys_addr(vc4_hdmi->cec_adap,
                        connector->display_info.source_physical_address, false);
        if (!drm_edid)

-- 
2.39.5

Reply via email to