search for: drm_dp_get_sink_count

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