[AMD Official Use Only - Internal Distribution Only] > -----Original Message----- > From: Imre Deak <imre.deak@xxxxxxxxx> > Sent: Tuesday, February 2, 2021 7:22 PM > To: Lin, Wayne <Wayne.Lin@xxxxxxx> > Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx; Lyude Paul <lyude@xxxxxxxxxx> > Subject: Re: [PATCH 2/4] drm/dp_mst: Don't cache EDIDs for physical ports > > 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. > Appreciate for the explanation. Thanks! > > 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 Regards, Wayne Lin _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel