}
 
        /* reset video pattern flag on disconnect */
-       if (!hpd)
+       if (!hpd) {
                dp->panel->video_test = false;
+               drm_dp_set_subconnector_property(dp->dp_display.connector,
+                                                connector_status_disconnected,
+                                                dp->panel->dpcd, dp->panel->downstream_ports);
+       }
 
        dp->dp_display.is_connected = hpd;
 
 
        dp_link_process_request(dp->link);
 
+       drm_dp_set_subconnector_property(dp->dp_display.connector, connector_status_connected,
+                                        dp->panel->dpcd, dp->panel->downstream_ports);
+
        edid = dp->panel->edid;
 
        dp->dp_display.psr_supported = dp->panel->psr_cap.version && psr_enabled;