On Tue, Sep 03, 2019 at 04:45:55PM -0400, Lyude Paul wrote: > The names for these functions are rather confusing. drm_dp_add_port() > sounds like a function that would simply create a port and add it to a > topology, and do nothing more. Similarly, drm_dp_update_port() would be > assumed to be the function that should be used to update port > information after initial creation. > > While those assumptions are currently correct in how these functions are > used, a quick glance at drm_dp_add_port() reveals that drm_dp_add_port() > can also update the information on a port, and seems explicitly designed > to do so. This can be explained pretty simply by the fact that there's > more situations that would involve updating the port information based > on a link address response as opposed to a connection status > notification than the driver's initial topology probe. Case in point: > reprobing link addresses after suspend/resume. > > Since we're about to start using drm_dp_add_port() differently for > suspend/resume reprobing, let's rename both functions to clarify what > they actually do. > > 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> > Signed-off-by: Lyude Paul <lyude@xxxxxxxxxx> Reviewed-by: Sean Paul <sean@xxxxxxxxxx> > --- > drivers/gpu/drm/drm_dp_mst_topology.c | 17 ++++++++++------- > 1 file changed, 10 insertions(+), 7 deletions(-) > > diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c > index 9944ef2ce885..cfaf9eb7ace9 100644 > --- a/drivers/gpu/drm/drm_dp_mst_topology.c > +++ b/drivers/gpu/drm/drm_dp_mst_topology.c > @@ -1900,9 +1900,10 @@ void drm_dp_mst_connector_early_unregister(struct drm_connector *connector, > } > EXPORT_SYMBOL(drm_dp_mst_connector_early_unregister); > > -static void drm_dp_add_port(struct drm_dp_mst_branch *mstb, > - struct drm_device *dev, > - struct drm_dp_link_addr_reply_port *port_msg) > +static void > +drm_dp_mst_handle_link_address_port(struct drm_dp_mst_branch *mstb, > + struct drm_device *dev, > + struct drm_dp_link_addr_reply_port *port_msg) > { > struct drm_dp_mst_topology_mgr *mgr = mstb->mgr; > struct drm_dp_mst_port *port; > @@ -2011,8 +2012,9 @@ static void drm_dp_add_port(struct drm_dp_mst_branch *mstb, > drm_dp_mst_topology_put_port(port); > } > > -static void drm_dp_update_port(struct drm_dp_mst_branch *mstb, > - struct drm_dp_connection_status_notify *conn_stat) > +static void > +drm_dp_mst_handle_conn_stat(struct drm_dp_mst_branch *mstb, > + struct drm_dp_connection_status_notify *conn_stat) > { > struct drm_dp_mst_port *port; > int old_ddps; > @@ -2464,7 +2466,8 @@ static void drm_dp_send_link_address(struct drm_dp_mst_topology_mgr *mgr, > drm_dp_check_mstb_guid(mstb, reply->guid); > > for (i = 0; i < reply->nports; i++) > - drm_dp_add_port(mstb, mgr->dev, &reply->ports[i]); > + drm_dp_mst_handle_link_address_port(mstb, mgr->dev, > + &reply->ports[i]); > > drm_kms_helper_hotplug_event(mgr->dev); > > @@ -3324,7 +3327,7 @@ static int drm_dp_mst_handle_up_req(struct drm_dp_mst_topology_mgr *mgr) > } > > if (msg.req_type == DP_CONNECTION_STATUS_NOTIFY) { > - drm_dp_update_port(mstb, &msg.u.conn_stat); > + drm_dp_mst_handle_conn_stat(mstb, &msg.u.conn_stat); > > DRM_DEBUG_KMS("Got CSN: pn: %d ldps:%d ddps: %d mcs: %d ip: %d pdt: %d\n", > msg.u.conn_stat.port_number, > -- > 2.21.0 > -- Sean Paul, Software Engineer, Google / Chromium OS _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel