@@ -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)
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 <dmitry.baryshkov@linaro.org> --- drivers/gpu/drm/vc4/vc4_hdmi.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)