Displaying 10 results from an estimated 10 matches for "dp_sink_count".
2020 Aug 11
0
[RFC 17/20] drm/nouveau/kms/nv50-: Add support for DP_SINK_COUNT
This is another bit that we never implemented for nouveau: dongle
detection. When a "dongle", e.g. an active display adaptor, is hooked up
to the system and causes an HPD to be fired, we don't actually know
whether or not there's anything plugged into the dongle without checking
the sink count. As a result, plugging in a dongle without anything
plugged into it currently results
2020 Aug 26
2
[RFC v4 16/20] drm/i915/dp: Extract drm_dp_get_sink_count()
...+ * @aux: The DP AUX channel to use
> + *
> + * Returns: The current sink count reported by @aux, or a negative error code
> + * otherwise.
> + */
> +int drm_dp_get_sink_count(struct drm_dp_aux *aux)
> +{
> + u8 count;
> + int ret;
> +
> + ret = drm_dp_dpcd_readb(aux, DP_SINK_COUNT, &count);
> + if (ret < 0)
> + return ret;
> + if (ret != 1)
> + return -EIO;
Makes me wonder if that shouldn't be at drm_dp_dpcd_read() level, for
reads returning 0..len-1 bytes. Not necessarily part of this series, but
seems silly to set a precedent to start handling tha...
2020 Aug 25
0
[RFC v4 16/20] drm/i915/dp: Extract drm_dp_get_sink_count()
...count() - Retrieve the sink count for a given sink
+ * @aux: The DP AUX channel to use
+ *
+ * Returns: The current sink count reported by @aux, or a negative error code
+ * otherwise.
+ */
+int drm_dp_get_sink_count(struct drm_dp_aux *aux)
+{
+ u8 count;
+ int ret;
+
+ ret = drm_dp_dpcd_readb(aux, DP_SINK_COUNT, &count);
+ if (ret < 0)
+ return ret;
+ if (ret != 1)
+ return -EIO;
+
+ return DP_GET_SINK_COUNT(count);
+}
+EXPORT_SYMBOL(drm_dp_get_sink_count);
+
/*
* I2C-over-AUX implementation
*/
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
ind...
2020 Aug 11
0
[RFC 16/20] drm/i915/dp: Extract drm_dp_get_sink_count()
...count() - Retrieve the sink count for a given sink
+ * @aux: The DP AUX channel to use
+ *
+ * Returns: The current sink count reported by @aux, or a negative error code
+ * otherwise.
+ */
+int drm_dp_get_sink_count(struct drm_dp_aux *aux)
+{
+ u8 count;
+ int ret;
+
+ ret = drm_dp_dpcd_readb(aux, DP_SINK_COUNT, &count);
+ if (ret < 1)
+ return -EIO;
+
+ return DP_GET_SINK_COUNT(count);
+}
+EXPORT_SYMBOL(drm_dp_get_sink_count);
+
/*
* I2C-over-AUX implementation
*/
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 35a4779a442e2..e343965a483df...
2020 Aug 26
0
[RFC v4 16/20] drm/i915/dp: Extract drm_dp_get_sink_count()
...+ * Returns: The current sink count reported by @aux, or a negative error
> > code
> > + * otherwise.
> > + */
> > +int drm_dp_get_sink_count(struct drm_dp_aux *aux)
> > +{
> > + u8 count;
> > + int ret;
> > +
> > + ret = drm_dp_dpcd_readb(aux, DP_SINK_COUNT, &count);
> > + if (ret < 0)
> > + return ret;
> > + if (ret != 1)
> > + return -EIO;
>
> Makes me wonder if that shouldn't be at drm_dp_dpcd_read() level, for
> reads returning 0..len-1 bytes. Not necessarily part of this series, but
> seems silly...
2020 Aug 11
0
[RFC 15/20] drm/i915/dp: Extract drm_dp_has_sink_count()
Since other drivers are also going to need to be aware of the sink count
in order to do proper dongle detection, we might as well steal i915's
DP_SINK_COUNT helpers and move them into DRM helpers so that other
dirvers can use them as well.
Note that this also starts using intel_dp_has_sink_count() in
intel_dp_detect_dpcd(), which is a functional change.
Signed-off-by: Lyude Paul <lyude at redhat.com>
---
drivers/gpu/drm/drm_dp_helper.c...
2020 Aug 25
22
[RFC v4 00/20] drm/dp, i915, nouveau: Cleanup nouveau HPD and add DP features from i915
...work for reprobing in HPD paths
drm/i915/dp: Extract drm_dp_downstream_read_info()
drm/nouveau/kms/nv50-: Use 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 ++---...
2020 Aug 11
29
[RFC 00/20] drm/dp, i915, nouveau: Cleanup nouveau HPD and add DP features from i915
...work for reprobing in HPD paths
drm/i915/dp: Extract drm_dp_downstream_read_info()
drm/nouveau/kms/nv50-: Use 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 ++----...
2020 Aug 20
22
[RFC v2 00/20] drm/dp, i915, nouveau: Cleanup nouveau HPD and add DP features from i915
...work for reprobing in HPD paths
drm/i915/dp: Extract drm_dp_downstream_read_info()
drm/nouveau/kms/nv50-: Use 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 ++---...
2020 Aug 26
23
[PATCH v5 00/20] drm/dp, i915, nouveau: Cleanup nouveau HPD and add DP features from i915
...or reprobing in HPD paths
drm/i915/dp: Extract drm_dp_read_downstream_info()
drm/nouveau/kms/nv50-: Use downstream 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 ++...