Displaying 9 results from an estimated 9 matches for "drm_dp_has_mst".
2020 Aug 11
0
[RFC 09/20] drm/i915/dp: Extract drm_dp_has_mst()
...se;
-
- return mstm_cap & DP_MST_CAP;
-}
-
static bool
intel_dp_can_mst(struct intel_dp *intel_dp)
{
@@ -4720,7 +4706,7 @@ intel_dp_can_mst(struct intel_dp *intel_dp)
return i915->params.enable_dp_mst &&
intel_dp->can_mst &&
- intel_dp_sink_can_mst(intel_dp);
+ drm_dp_has_mst(&intel_dp->aux, intel_dp->dpcd);
}
static void
@@ -4729,7 +4715,7 @@ intel_dp_configure_mst(struct intel_dp *intel_dp)
struct drm_i915_private *i915 = dp_to_i915(intel_dp);
struct intel_encoder *encoder =
&dp_to_dig_port(intel_dp)->base;
- bool sink_can_mst = intel_dp_si...
2020 Aug 25
0
[RFC v4 09/20] drm/i915/dp: Extract drm_dp_has_mst()
...se;
-
- return mstm_cap & DP_MST_CAP;
-}
-
static bool
intel_dp_can_mst(struct intel_dp *intel_dp)
{
@@ -4720,7 +4706,7 @@ intel_dp_can_mst(struct intel_dp *intel_dp)
return i915->params.enable_dp_mst &&
intel_dp->can_mst &&
- intel_dp_sink_can_mst(intel_dp);
+ drm_dp_has_mst(&intel_dp->aux, intel_dp->dpcd);
}
static void
@@ -4729,7 +4715,7 @@ intel_dp_configure_mst(struct intel_dp *intel_dp)
struct drm_i915_private *i915 = dp_to_i915(intel_dp);
struct intel_encoder *encoder =
&dp_to_dig_port(intel_dp)->base;
- bool sink_can_mst = intel_dp_si...
2020 Aug 11
0
[RFC 10/20] drm/nouveau/kms: Use new drm_dp_has_mst() helper for checking MST caps
...if (dpcd[DP_DPCD_REV] >= DP_DPCD_REV_12) {
- ret = drm_dp_dpcd_readb(aux, DP_MSTM_CAP, &tmp);
- if (ret < 0)
- return connector_status_disconnected;
-
- mstm->can_mst = !!(tmp & DP_MST_CAP);
- } else {
- mstm->can_mst = false;
- }
+ if (mstm)
+ mstm->can_mst = drm_dp_has_mst(aux, dpcd);
}
return connector_status_connected;
--
2.26.2
2020 Aug 26
0
[PATCH v5 09/20] drm/i915/dp: Extract drm_dp_read_mst_cap()
Just a tiny drive-by cleanup, we can consolidate i915's code for
checking for MST support into a helper to be shared across drivers.
v5:
* Drop !!()
* Move drm_dp_has_mst() out of header
* Change name from drm_dp_has_mst() to drm_dp_read_mst_cap()
Signed-off-by: Lyude Paul <lyude at redhat.com>
Reviewed-by: Sean Paul <sean at poorly.run>
---
drivers/gpu/drm/drm_dp_mst_topology.c | 22 ++++++++++++++++++++++
drivers/gpu/drm/i915/display/intel_dp.c | 1...
2020 Aug 25
22
[RFC v4 00/20] drm/dp, i915, nouveau: Cleanup nouveau HPD and add DP features from i915
...m/nouveau/kms: Don't clear DP_MST_CTRL DPCD in nv50_mstm_new()
drm/nouveau/kms: Search for encoders' connectors properly
drm/nouveau/kms/nv50-: Use drm_dp_dpcd_(readb|writeb)() in
nv50_sor_disable()
drm/nouveau/kms/nv50-: Refactor and cleanup DP HPD handling
drm/i915/dp: Extract drm_dp_has_mst()
drm/nouveau/kms: Use new drm_dp_has_mst() helper for checking MST caps
drm/nouveau/kms: Move drm_dp_cec_unset_edid() into
nouveau_connector_detect()
drm/nouveau/kms: Only use hpd_work for reprobing in HPD paths
drm/i915/dp: Extract drm_dp_downstream_read_info()
drm/nouveau/kms/nv50-...
2020 Aug 11
29
[RFC 00/20] drm/dp, i915, nouveau: Cleanup nouveau HPD and add DP features from i915
...m/nouveau/kms: Don't clear DP_MST_CTRL DPCD in nv50_mstm_new()
drm/nouveau/kms: Search for encoders' connectors properly
drm/nouveau/kms/nv50-: Use drm_dp_dpcd_(readb|writeb)() in
nv50_sor_disable()
drm/nouveau/kms/nv50-: Refactor and cleanup DP HPD handling
drm/i915/dp: Extract drm_dp_has_mst()
drm/nouveau/kms: Use new drm_dp_has_mst() helper for checking MST caps
drm/nouveau/kms: Move drm_dp_cec_unset_edid() into
nouveau_connector_detect()
drm/nouveau/kms: Only use hpd_work for reprobing in HPD paths
drm/i915/dp: Extract drm_dp_downstream_read_info()
drm/nouveau/kms/nv50-...
2020 Aug 11
0
[RFC 17/20] drm/nouveau/kms/nv50-: Add support for DP_SINK_COUNT
...drm_dp_is_branch(dpcd));
if (ret < 0)
- return connector_status_disconnected;
+ goto out;
} else {
- return connector_status_disconnected;
+ goto out;
}
if (nouveau_mst) {
@@ -61,12 +71,33 @@ nouveau_dp_probe_dpcd(struct nouveau_connector *nv_connector,
mstm->can_mst = drm_dp_has_mst(aux, dpcd);
}
+ if (nouveau_dp_has_sink_count(connector, outp)) {
+ ret = drm_dp_get_sink_count(aux);
+ if (ret < 0)
+ goto out;
+
+ outp->dp.sink_count = ret;
+
+ /*
+ * Dongle connected, but no display. Don't bother reading
+ * downstream port info
+ */
+ if (!outp->...
2020 Aug 20
22
[RFC v2 00/20] drm/dp, i915, nouveau: Cleanup nouveau HPD and add DP features from i915
...m/nouveau/kms: Don't clear DP_MST_CTRL DPCD in nv50_mstm_new()
drm/nouveau/kms: Search for encoders' connectors properly
drm/nouveau/kms/nv50-: Use drm_dp_dpcd_(readb|writeb)() in
nv50_sor_disable()
drm/nouveau/kms/nv50-: Refactor and cleanup DP HPD handling
drm/i915/dp: Extract drm_dp_has_mst()
drm/nouveau/kms: Use new drm_dp_has_mst() helper for checking MST caps
drm/nouveau/kms: Move drm_dp_cec_unset_edid() into
nouveau_connector_detect()
drm/nouveau/kms: Only use hpd_work for reprobing in HPD paths
drm/i915/dp: Extract drm_dp_downstream_read_info()
drm/nouveau/kms/nv50-...
2020 Aug 26
23
[PATCH v5 00/20] drm/dp, i915, nouveau: Cleanup nouveau HPD and add DP features from i915
Most of the reason I'm asking for an RFC here is because this
code pulls a lot of code out of i915 and into shared DP helpers.
Anyway-nouveau's HPD related code has been collecting dust for a while.
Other then the occasional runtime PM related and MST related fixes,
we're missing a lot of nice things that have been added to DRM since
this was originally written. Additionally, the code