huh? Not sure how this got put in the stable queue, but this probably should be dropped. this was prepatory work for some MST functionality that got added recently, not a fix. On Tue, 2019-12-10 at 16:04 -0500, Sasha Levin wrote: > From: Lyude Paul <lyude@xxxxxxxxxx> > > [ Upstream commit ac0de16a38a9ec7026ca96132e3883c564497068 ] > > Currently, we enable hotplug detection only after we re-enable the > display. However, this is too late if we're planning on sending sideband > messages during the resume process - which we'll need to do in order to > reprobe the topology on resume. > > So, enable hotplug events before reinitializing the display. > > Cc: Juston Li <juston.li@xxxxxxxxx> > Cc: Imre Deak <imre.deak@xxxxxxxxx> > Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > Cc: Harry Wentland <hwentlan@xxxxxxx> > Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> > Reviewed-by: Sean Paul <sean@xxxxxxxxxx> > Signed-off-by: Lyude Paul <lyude@xxxxxxxxxx> > Link: > https://patchwork.freedesktop.org/patch/msgid/20191022023641.8026-11-lyude@xxxxxxxxxx > Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx> > --- > drivers/gpu/drm/nouveau/nouveau_display.c | 19 +++++++++++-------- > 1 file changed, 11 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c > b/drivers/gpu/drm/nouveau/nouveau_display.c > index 6f038511a03a9..53f9bceaf17a5 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_display.c > +++ b/drivers/gpu/drm/nouveau/nouveau_display.c > @@ -407,6 +407,17 @@ nouveau_display_init(struct drm_device *dev, bool > resume, bool runtime) > struct drm_connector_list_iter conn_iter; > int ret; > > + /* > + * Enable hotplug interrupts (done as early as possible, since we need > + * them for MST) > + */ > + drm_connector_list_iter_begin(dev, &conn_iter); > + nouveau_for_each_non_mst_connector_iter(connector, &conn_iter) { > + struct nouveau_connector *conn = nouveau_connector(connector); > + nvif_notify_get(&conn->hpd); > + } > + drm_connector_list_iter_end(&conn_iter); > + > ret = disp->init(dev, resume, runtime); > if (ret) > return ret; > @@ -416,14 +427,6 @@ nouveau_display_init(struct drm_device *dev, bool > resume, bool runtime) > */ > drm_kms_helper_poll_enable(dev); > > - /* enable hotplug interrupts */ > - drm_connector_list_iter_begin(dev, &conn_iter); > - nouveau_for_each_non_mst_connector_iter(connector, &conn_iter) { > - struct nouveau_connector *conn = nouveau_connector(connector); > - nvif_notify_get(&conn->hpd); > - } > - drm_connector_list_iter_end(&conn_iter); > - > return ret; > } > -- Cheers, Lyude Paul _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel