Displaying 9 results from an estimated 9 matches for "drm_dp_get_sink_count".
2020 Aug 26
2
[RFC v4 16/20] drm/i915/dp: Extract drm_dp_get_sink_count()
....c
> index 863e0babc1903..67ad05eb05b7e 100644
> --- a/drivers/gpu/drm/drm_dp_helper.c
> +++ b/drivers/gpu/drm/drm_dp_helper.c
> @@ -736,6 +736,28 @@ bool drm_dp_has_sink_count(struct drm_connector *connector,
> }
> EXPORT_SYMBOL(drm_dp_has_sink_count);
>
> +/**
> + * drm_dp_get_sink_count() - Retrieve the sink count for a given sink
>From the department of bikeshedding...
Should we have a naming scheme where it's obvious whether a function
will do DPCD access, or just shuffle existing data?
For example, drm_dp_read_foo() for anything with DPCD access
vs. drm_dp_get_foo() o...
2020 Aug 25
0
[RFC v4 16/20] drm/i915/dp: Extract drm_dp_get_sink_count()
...m_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c
index 863e0babc1903..67ad05eb05b7e 100644
--- a/drivers/gpu/drm/drm_dp_helper.c
+++ b/drivers/gpu/drm/drm_dp_helper.c
@@ -736,6 +736,28 @@ bool drm_dp_has_sink_count(struct drm_connector *connector,
}
EXPORT_SYMBOL(drm_dp_has_sink_count);
+/**
+ * drm_dp_get_sink_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_SI...
2020 Aug 11
0
[RFC 16/20] drm/i915/dp: Extract drm_dp_get_sink_count()
...m_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c
index 05bb47e589731..0ff2959c8f8e8 100644
--- a/drivers/gpu/drm/drm_dp_helper.c
+++ b/drivers/gpu/drm/drm_dp_helper.c
@@ -722,6 +722,26 @@ bool drm_dp_has_sink_count(struct drm_connector *connector,
}
EXPORT_SYMBOL(drm_dp_has_sink_count);
+/**
+ * drm_dp_get_sink_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_SI...
2020 Aug 26
0
[RFC v4 16/20] drm/i915/dp: Extract drm_dp_get_sink_count()
...> > --- a/drivers/gpu/drm/drm_dp_helper.c
> > +++ b/drivers/gpu/drm/drm_dp_helper.c
> > @@ -736,6 +736,28 @@ bool drm_dp_has_sink_count(struct drm_connector
> > *connector,
> > }
> > EXPORT_SYMBOL(drm_dp_has_sink_count);
> >
> > +/**
> > + * drm_dp_get_sink_count() - Retrieve the sink count for a given sink
>
> From the department of bikeshedding...
>
> Should we have a naming scheme where it's obvious whether a function
> will do DPCD access, or just shuffle existing data?
>
> For example, drm_dp_read_foo() for anything with DPC...
2020 Aug 11
0
[RFC 17/20] drm/nouveau/kms/nv50-: Add support for DP_SINK_COUNT
...oto 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->dp.sink_count)
+ return connector_status_disconnected;
+ }
+
ret = drm_dp_downstream_read_info(au...
2020 Aug 25
22
[RFC v4 00/20] drm/dp, i915, nouveau: Cleanup nouveau HPD and add DP features from i915
...o
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-: 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 +++++++++++...
2020 Aug 11
29
[RFC 00/20] drm/dp, i915, nouveau: Cleanup nouveau HPD and add DP features from i915
...o
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-: 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 ++++++++++...
2020 Aug 20
22
[RFC v2 00/20] drm/dp, i915, nouveau: Cleanup nouveau HPD and add DP features from i915
...o
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-: 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 +++++++++++...
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