[PATCH 1/2] drm/dp_mst: Add a function to determine the mst end device
Wayne Lin
Wayne.Lin at amd.com
Wed Jan 8 08:44:15 UTC 2020
[Why]
For later usage convenience, add the function
drm_dp_mst_is_dp_mst_end_device() to decide whether a peer device
connected to a DFP is mst end device. Which also indicates if the peer
device is capable of handling message or not.
Signed-off-by: Wayne Lin <Wayne.Lin at amd.com>
---
drivers/gpu/drm/drm_dp_mst_topology.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c
index eebf325d7f48..8f54b241db08 100644
--- a/drivers/gpu/drm/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
@@ -1918,6 +1918,22 @@ static u8 drm_dp_calculate_rad(struct drm_dp_mst_port *port,
return parent_lct + 1;
}
+static bool drm_dp_mst_is_dp_mst_end_device(u8 pdt, bool mcs)
+{
+ switch (pdt) {
+ case DP_PEER_DEVICE_DP_LEGACY_CONV:
+ case DP_PEER_DEVICE_SST_SINK:
+ return true;
+ case DP_PEER_DEVICE_MST_BRANCHING:
+ /* For sst branch device */
+ if (!mcs)
+ return true;
+
+ return false;
+ }
+ return true;
+}
+
static int drm_dp_port_set_pdt(struct drm_dp_mst_port *port, u8 new_pdt)
{
struct drm_dp_mst_topology_mgr *mgr = port->mgr;
--
2.17.1
More information about the dri-devel
mailing list