@@ -384,7 +384,6 @@ static void vc4_hdmi_handle_hotplug(struct vc4_hdmi *vc4_hdmi,
384
384
enum drm_connector_status status )
385
385
{
386
386
struct drm_connector * connector = & vc4_hdmi -> connector ;
387
- const struct drm_edid * drm_edid ;
388
387
int ret ;
389
388
390
389
/*
@@ -406,17 +405,14 @@ static void vc4_hdmi_handle_hotplug(struct vc4_hdmi *vc4_hdmi,
406
405
return ;
407
406
}
408
407
409
- drm_edid = drm_edid_read_ddc (connector , vc4_hdmi -> ddc );
408
+ drm_atomic_helper_connector_hdmi_hotplug (connector , status );
410
409
411
- drm_edid_connector_update (connector , drm_edid );
412
410
cec_s_phys_addr (vc4_hdmi -> cec_adap ,
413
411
connector -> display_info .source_physical_address , false);
414
412
415
- if (! drm_edid )
413
+ if (status != connector_status_connected )
416
414
return ;
417
415
418
- drm_edid_free (drm_edid );
419
-
420
416
for (;;) {
421
417
ret = vc4_hdmi_reset_link (connector , ctx );
422
418
if (ret == - EDEADLK ) {
@@ -550,6 +546,7 @@ static void vc4_hdmi_connector_reset(struct drm_connector *connector)
550
546
}
551
547
552
548
static const struct drm_connector_funcs vc4_hdmi_connector_funcs = {
549
+ .force = drm_atomic_helper_connector_hdmi_force ,
553
550
.fill_modes = drm_helper_probe_single_connector_modes ,
554
551
.reset = vc4_hdmi_connector_reset ,
555
552
.atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state ,
0 commit comments