Displaying 8 results from an estimated 8 matches for "drm_dp_read_dpcd_cap".
Did you mean:
drm_dp_read_dpcd_caps
2020 Aug 11
0
[RFC 19/20] drm/i915/dp: Extract drm_dp_read_dpcd_caps()
...REV],
+ dpcd_ext[DP_DPCD_REV]);
+ return 0;
+ }
+
+ if (!memcmp(dpcd, dpcd_ext, sizeof(dpcd_ext)))
+ return 0;
+
+ DRM_DEBUG_KMS("%s: Base DPCD: %*ph\n",
+ aux->name, DP_RECEIVER_CAP_SIZE, dpcd);
+
+ memcpy(dpcd, dpcd_ext, sizeof(dpcd_ext));
+
+ return 0;
+}
+
+/**
+ * drm_dp_read_dpcd_caps() - read DPCD caps and extended DPCD caps if
+ * available
+ * @aux: DisplayPort AUX channel
+ * @dpcd: Buffer to store the resulting DPCD in
+ *
+ * Attempts to read the base DPCD caps for @aux. Additionally, this function
+ * checks for and reads the extended DPRX caps (%DP_DP13_DPCD_REV) if
+ *...
2020 Aug 19
2
[RFC 19/20] drm/i915/dp: Extract drm_dp_read_dpcd_caps()
...if (!memcmp(dpcd, dpcd_ext, sizeof(dpcd_ext)))
> + return 0;
> +
> + DRM_DEBUG_KMS("%s: Base DPCD: %*ph\n",
> + aux->name, DP_RECEIVER_CAP_SIZE, dpcd);
> +
> + memcpy(dpcd, dpcd_ext, sizeof(dpcd_ext));
> +
> + return 0;
> +}
> +
> +/**
> + * drm_dp_read_dpcd_caps() - read DPCD caps and extended DPCD caps if
> + * available
> + * @aux: DisplayPort AUX channel
> + * @dpcd: Buffer to store the resulting DPCD in
> + *
> + * Attempts to read the base DPCD caps for @aux. Additionally, this function
> + * checks for and reads the extended DPRX c...
2020 Aug 11
0
[RFC 20/20] drm/nouveau/kms: Start using drm_dp_read_dpcd_caps()
...utp->dp.dpcd;
- ret = drm_dp_dpcd_read(aux, DP_DPCD_REV, dpcd, DP_RECEIVER_CAP_SIZE);
- if (ret == DP_RECEIVER_CAP_SIZE && dpcd[DP_DPCD_REV]) {
- ret = drm_dp_read_desc(aux, &outp->dp.desc,
- drm_dp_is_branch(dpcd));
- if (ret < 0)
- goto out;
- } else {
+ ret = drm_dp_read_dpcd_caps(aux, dpcd);
+ if (ret < 0)
+ goto out;
+
+ ret = drm_dp_read_desc(aux, &outp->dp.desc, drm_dp_is_branch(dpcd));
+ if (ret < 0)
goto out;
- }
if (nouveau_mst) {
mstm = outp->dp.mstm;
--
2.26.2
2023 Jul 07
2
[PATCH] drm/nouveau/nvkm/dp: Add hack to fix DP 1.3+ DPCD issues
...he same connector.
Ideally to fix this, we want to start setting up the drm_dp_aux device in
NVKM before we've made contact with the DRM side - which should be pretty
easy to accomplish (I'm already working on it!). Until then however, let's
workaround this problem by porting a copy of drm_dp_read_dpcd_caps() into
NVKM - which should fix this issue.
Issue: https://gitlab.freedesktop.org/drm/nouveau/-/issues/211
Signed-off-by: Lyude Paul <lyude at redhat.com>
---
drivers/gpu/drm/nouveau/nvkm/engine/disp/dp.c | 48 ++++++++++++++++++-
1 file changed, 47 insertions(+), 1 deletion(-)
diff --git...
2020 Aug 11
29
[RFC 00/20] drm/dp, i915, nouveau: Cleanup nouveau HPD and add DP features from i915
...downstream DP clock limits for mode
validation
drm/i915/dp: Extract drm_dp_has_sink_count()
drm/i915/dp: Extract drm_dp_get_sink_count()
drm/nouveau/kms/nv50-: Add support for DP_SINK_COUNT
drm/nouveau/kms: Don't change EDID when it hasn't actually changed
drm/i915/dp: Extract drm_dp_read_dpcd_caps()
drm/nouveau/kms: Start using drm_dp_read_dpcd_caps()
drivers/gpu/drm/drm_dp_helper.c | 150 ++++++++++
drivers/gpu/drm/i915/display/intel_dp.c | 130 ++-------
drivers/gpu/drm/i915/display/intel_dp.h | 1 -
drivers/gpu/drm/i915/display/intel_lspcon.c | 2 +-
drivers/g...
2020 Aug 25
22
[RFC v4 00/20] drm/dp, i915, nouveau: Cleanup nouveau HPD and add DP features from i915
...downstream DP clock limits for mode
validation
drm/i915/dp: Extract drm_dp_has_sink_count()
drm/i915/dp: Extract drm_dp_get_sink_count()
drm/nouveau/kms/nv50-: Add support for DP_SINK_COUNT
drm/nouveau/kms: Don't change EDID when it hasn't actually changed
drm/i915/dp: Extract drm_dp_read_dpcd_caps()
drm/nouveau/kms: Start using drm_dp_read_dpcd_caps()
drivers/gpu/drm/drm_dp_helper.c | 167 +++++++++++
drivers/gpu/drm/i915/display/intel_dp.c | 124 ++------
drivers/gpu/drm/i915/display/intel_dp.h | 1 -
drivers/gpu/drm/i915/display/intel_lspcon.c | 2 +-
drivers/g...
2020 Aug 20
22
[RFC v2 00/20] drm/dp, i915, nouveau: Cleanup nouveau HPD and add DP features from i915
...downstream DP clock limits for mode
validation
drm/i915/dp: Extract drm_dp_has_sink_count()
drm/i915/dp: Extract drm_dp_get_sink_count()
drm/nouveau/kms/nv50-: Add support for DP_SINK_COUNT
drm/nouveau/kms: Don't change EDID when it hasn't actually changed
drm/i915/dp: Extract drm_dp_read_dpcd_caps()
drm/nouveau/kms: Start using drm_dp_read_dpcd_caps()
drivers/gpu/drm/drm_dp_helper.c | 167 +++++++++++
drivers/gpu/drm/i915/display/intel_dp.c | 124 ++------
drivers/gpu/drm/i915/display/intel_dp.h | 1 -
drivers/gpu/drm/i915/display/intel_lspcon.c | 2 +-
drivers/g...
2020 Aug 26
23
[PATCH v5 00/20] drm/dp, i915, nouveau: Cleanup nouveau HPD and add DP features from i915
...ream DP clock limits for mode
validation
drm/i915/dp: Extract drm_dp_read_sink_count_cap()
drm/i915/dp: Extract drm_dp_read_sink_count()
drm/nouveau/kms/nv50-: Add support for DP_SINK_COUNT
drm/nouveau/kms: Don't change EDID when it hasn't actually changed
drm/i915/dp: Extract drm_dp_read_dpcd_caps()
drm/nouveau/kms: Start using drm_dp_read_dpcd_caps()
drivers/gpu/drm/drm_dp_helper.c | 187 +++++++++++-
drivers/gpu/drm/drm_dp_mst_topology.c | 22 ++
drivers/gpu/drm/i915/display/intel_dp.c | 124 ++------
drivers/gpu/drm/i915/display/intel_dp.h | 1 -
drivers/...