Message ID | 20240320201152.3487892-9-imre.deak@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/i915/dp: Few MTL/DSC and a UHBR monitor fix | expand |
On 3/21/2024 1:41 AM, Imre Deak wrote: > Factor out a function to check if an MST port is logical, used by a > follow-up i915 patch in the patchset. > > Cc: Lyude Paul <lyude@redhat.com> > Cc: dri-devel@lists.freedesktop.org > Signed-off-by: Imre Deak <imre.deak@intel.com> > --- > drivers/gpu/drm/display/drm_dp_mst_topology.c | 6 +++--- > include/drm/display/drm_dp_mst_helper.h | 7 +++++++ > 2 files changed, 10 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology.c b/drivers/gpu/drm/display/drm_dp_mst_topology.c > index 03d5282094262..6bd471a2266ce 100644 > --- a/drivers/gpu/drm/display/drm_dp_mst_topology.c > +++ b/drivers/gpu/drm/display/drm_dp_mst_topology.c > @@ -2274,7 +2274,7 @@ 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) && > - port->port_num >= DP_MST_LOGICAL_PORT_0) > + drm_dp_mst_port_is_logical(port)) > port->cached_edid = drm_edid_read_ddc(port->connector, > &port->aux.ddc); > > @@ -4213,7 +4213,7 @@ drm_dp_mst_detect_port(struct drm_connector *connector, > case DP_PEER_DEVICE_SST_SINK: > ret = connector_status_connected; > /* for logical ports - cache the EDID */ > - if (port->port_num >= DP_MST_LOGICAL_PORT_0 && !port->cached_edid) > + if (drm_dp_mst_port_is_logical(port) && !port->cached_edid) > port->cached_edid = drm_edid_read_ddc(connector, &port->aux.ddc); > break; > case DP_PEER_DEVICE_DP_LEGACY_CONV: > @@ -5977,7 +5977,7 @@ static bool drm_dp_mst_is_virtual_dpcd(struct drm_dp_mst_port *port) > return false; > > /* Virtual DP Sink (Internal Display Panel) */ > - if (port->port_num >= 8) > + if (drm_dp_mst_port_is_logical(port)) > return true; > > /* DP-to-HDMI Protocol Converter */ > diff --git a/include/drm/display/drm_dp_mst_helper.h b/include/drm/display/drm_dp_mst_helper.h > index 3ae88a383a41f..c12f18b744d01 100644 > --- a/include/drm/display/drm_dp_mst_helper.h > +++ b/include/drm/display/drm_dp_mst_helper.h > @@ -927,6 +927,13 @@ int __must_check drm_dp_mst_root_conn_atomic_check(struct drm_connector_state *n > void drm_dp_mst_get_port_malloc(struct drm_dp_mst_port *port); > void drm_dp_mst_put_port_malloc(struct drm_dp_mst_port *port); > > +static inline > +bool drm_dp_mst_port_is_logical(struct drm_dp_mst_port *port) > +{ > + return port->port_num >= DP_MST_LOGICAL_PORT_0; > +} > + > +struct drm_dp_aux *drm_dp_mst_aux_for_parent(struct drm_dp_mst_port *port); This line should be part of next patch, where this helper is defined. Otherwise LGTM. With the above line removed, this is: Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com> Regards, Ankit > struct drm_dp_aux *drm_dp_mst_dsc_aux_for_port(struct drm_dp_mst_port *port); > > static inline struct drm_dp_mst_topology_state *
diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology.c b/drivers/gpu/drm/display/drm_dp_mst_topology.c index 03d5282094262..6bd471a2266ce 100644 --- a/drivers/gpu/drm/display/drm_dp_mst_topology.c +++ b/drivers/gpu/drm/display/drm_dp_mst_topology.c @@ -2274,7 +2274,7 @@ 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) && - port->port_num >= DP_MST_LOGICAL_PORT_0) + drm_dp_mst_port_is_logical(port)) port->cached_edid = drm_edid_read_ddc(port->connector, &port->aux.ddc); @@ -4213,7 +4213,7 @@ drm_dp_mst_detect_port(struct drm_connector *connector, case DP_PEER_DEVICE_SST_SINK: ret = connector_status_connected; /* for logical ports - cache the EDID */ - if (port->port_num >= DP_MST_LOGICAL_PORT_0 && !port->cached_edid) + if (drm_dp_mst_port_is_logical(port) && !port->cached_edid) port->cached_edid = drm_edid_read_ddc(connector, &port->aux.ddc); break; case DP_PEER_DEVICE_DP_LEGACY_CONV: @@ -5977,7 +5977,7 @@ static bool drm_dp_mst_is_virtual_dpcd(struct drm_dp_mst_port *port) return false; /* Virtual DP Sink (Internal Display Panel) */ - if (port->port_num >= 8) + if (drm_dp_mst_port_is_logical(port)) return true; /* DP-to-HDMI Protocol Converter */ diff --git a/include/drm/display/drm_dp_mst_helper.h b/include/drm/display/drm_dp_mst_helper.h index 3ae88a383a41f..c12f18b744d01 100644 --- a/include/drm/display/drm_dp_mst_helper.h +++ b/include/drm/display/drm_dp_mst_helper.h @@ -927,6 +927,13 @@ int __must_check drm_dp_mst_root_conn_atomic_check(struct drm_connector_state *n void drm_dp_mst_get_port_malloc(struct drm_dp_mst_port *port); void drm_dp_mst_put_port_malloc(struct drm_dp_mst_port *port); +static inline +bool drm_dp_mst_port_is_logical(struct drm_dp_mst_port *port) +{ + return port->port_num >= DP_MST_LOGICAL_PORT_0; +} + +struct drm_dp_aux *drm_dp_mst_aux_for_parent(struct drm_dp_mst_port *port); struct drm_dp_aux *drm_dp_mst_dsc_aux_for_port(struct drm_dp_mst_port *port); static inline struct drm_dp_mst_topology_state *
Factor out a function to check if an MST port is logical, used by a follow-up i915 patch in the patchset. Cc: Lyude Paul <lyude@redhat.com> Cc: dri-devel@lists.freedesktop.org Signed-off-by: Imre Deak <imre.deak@intel.com> --- drivers/gpu/drm/display/drm_dp_mst_topology.c | 6 +++--- include/drm/display/drm_dp_mst_helper.h | 7 +++++++ 2 files changed, 10 insertions(+), 3 deletions(-)