On Tue, Feb 02, 2021 at 03:38:16AM +0000, Lin, Wayne wrote: > [AMD Public Use] > > > -----Original Message----- > > From: Imre Deak <imre.deak@xxxxxxxxx> > > Sent: Monday, February 1, 2021 8:02 PM > > To: dri-devel@xxxxxxxxxxxxxxxxxxxxx > > Cc: Lin, Wayne <Wayne.Lin@xxxxxxx>; Lyude Paul <lyude@xxxxxxxxxx> > > Subject: [PATCH 2/4] drm/dp_mst: Don't cache EDIDs for physical ports > > > > Caching EDIDs for physical ports prevents updating the EDID if a port gets reconnected via a Connection Status Notification message, > > fix this. > > > > Fixes: db1a07956968 ("drm/dp_mst: Handle SST-only branch device case") > > Cc: Wayne Lin <Wayne.Lin@xxxxxxx> > > Cc: Lyude Paul <lyude@xxxxxxxxxx> > > Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> > > --- > > drivers/gpu/drm/drm_dp_mst_topology.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c > > index deb7995f42fa..309afe61afdd 100644 > > --- a/drivers/gpu/drm/drm_dp_mst_topology.c > > +++ b/drivers/gpu/drm/drm_dp_mst_topology.c > > @@ -2302,7 +2302,8 @@ drm_dp_mst_port_add_connector(struct drm_dp_mst_branch *mstb, > > } > > > > if (port->pdt != DP_PEER_DEVICE_NONE && > > - drm_dp_mst_is_end_device(port->pdt, port->mcs)) { > > + drm_dp_mst_is_end_device(port->pdt, port->mcs) && > > + port->port_num >= DP_MST_LOGICAL_PORT_0) { > Hi Imre Deak, > > Thanks for the patch! > Just curious that you mean we don't want to fetch the EDID of the sst > monitor like below case? > > Src->MST device ->SST monitor The intention of the mst cached_edid logic is to cache the EDID for logical ports where the EDID cannot change anyway. The EDID on physical ports is fetched during connector probing just as for any other connector. > I thought we still need to get the EDID even the monitor is connected > to the physical output port of mst device. For sinks attached to phyisical ports we get the EDID whenever probing the corresponding connector. > Maybe what we should fix here is why the EDID is not get updated once > reconnected via CSN message? This patch fixes the problem that we stopped updating the EDID for physical connectors. After this change it will get updated when probing such connectors. > Thanks! > > port->cached_edid = drm_get_edid(port->connector, > > &port->aux.ddc); > > drm_connector_set_tile_property(port->connector); > > -- > > 2.25.1 > Regards, > Wayne Lin _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel