Hi Shashank,
On 29-12-2016 12:28, Shashank Sharma wrote: > This patch adds a small helper function, which clears the cached > information about a hot-pluggable display, from connector. On event > This will run on event of a hot-unplug, keeping the connector's display > info up-to-date, avoiding any errors due to invalid cached data. > > Forking this patch out from the 3 patch series: > > https://urldefense.proofpoint.com/v2/url?u=https-3A__patchwork.freedesktop.org_patch_128961_&d=DgIBAg&c=DPL6_X_6JkXFx7AXWqB0tg&r=yaVFU4TjGY0gVF8El1uKcisy6TPsyCl9uN7Wsis-qhY&m=wGqvHYK00VvbUVGun4-ZhK6KZ4Ht_lHwPGfC6ajlzxE&s=7YpJD-fwUixHNz9SNn2B1ijuL5mEVeEUmolbf3NqWcs&e= > > (still under review) and sending as individual patch. > > Cc: Jose Abreu <joabreu at synopsys.com> > Cc: Daniel Vetter <daniel at ffwll.ch> > > Suggested-by: Jose Abreu <joabreu at synopsys.com> > Signed-off-by: Shashank Sharma <shashank.sharma at intel.com> > --- Reviewed-by: Jose Abreu <joabreu at synopsys.com> Best regards, Jose Miguel Abreu > drivers/gpu/drm/drm_probe_helper.c | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/drivers/gpu/drm/drm_probe_helper.c > b/drivers/gpu/drm/drm_probe_helper.c > index 7cff91e..65a6a1f 100644 > --- a/drivers/gpu/drm/drm_probe_helper.c > +++ b/drivers/gpu/drm/drm_probe_helper.c > @@ -164,6 +164,18 @@ void drm_kms_helper_poll_enable_locked(struct drm_device > *dev) > } > > /** > + * drm_helper_clear_display_info - clean cached display information for > + * hot pluggable displays, on event of hot-unplug > + * @connector: connector under event > + */ > +void drm_helper_clear_display_info(struct drm_connector *connector) > +{ > + struct drm_display_info *info = &connector->display_info; > + > + memset(info, 0, sizeof(*info)); > +} > + > +/** > * drm_helper_probe_single_connector_modes - get complete set of display > modes > * @connector: connector to probe > * @maxX: max width for modes > @@ -288,6 +300,16 @@ int drm_helper_probe_single_connector_modes(struct > drm_connector *connector, > DRM_DEBUG_KMS("[CONNECTOR:%d:%s] disconnected\n", > connector->base.id, connector->name); > drm_mode_connector_update_edid_property(connector, NULL); > + > + /* > + * Connector status change to disconnected, time to clean > + * cached display information. > + * Any driver which doesn't use this probe_helper function > + * should implement update of EDID property and display_info > + * on its own. > + */ > + drm_helper_clear_display_info(connector); > + > verbose_prune = false; > goto prune; > }