]> Git Repo - linux.git/blobdiff - drivers/gpu/drm/drm_dp_mst_topology.c
drm/nouveau/kms: Don't change EDID when it hasn't actually changed
[linux.git] / drivers / gpu / drm / drm_dp_mst_topology.c
index b23cb2fec3f35f8b8eaa231b6a13267e7041cab7..61755c26fac03cce121221e13bad37c640b0221d 100644 (file)
@@ -3486,6 +3486,28 @@ static int drm_dp_get_vc_payload_bw(u8 dp_link_bw, u8  dp_link_count)
        return dp_link_bw * dp_link_count / 2;
 }
 
+/**
+ * drm_dp_read_mst_cap() - check whether or not a sink supports MST
+ * @aux: The DP AUX channel to use
+ * @dpcd: A cached copy of the DPCD capabilities for this sink
+ *
+ * Returns: %True if the sink supports MST, %false otherwise
+ */
+bool drm_dp_read_mst_cap(struct drm_dp_aux *aux,
+                        const u8 dpcd[DP_RECEIVER_CAP_SIZE])
+{
+       u8 mstm_cap;
+
+       if (dpcd[DP_DPCD_REV] < DP_DPCD_REV_12)
+               return false;
+
+       if (drm_dp_dpcd_readb(aux, DP_MSTM_CAP, &mstm_cap) != 1)
+               return false;
+
+       return mstm_cap & DP_MST_CAP;
+}
+EXPORT_SYMBOL(drm_dp_read_mst_cap);
+
 /**
  * drm_dp_mst_topology_mgr_set_mst() - Set the MST state for a topology manager
  * @mgr: manager to set state for
This page took 0.031864 seconds and 4 git commands to generate.