[PATCH v3 0/4] drm/dp: Introduce AUX channel infrastructure

Thierry Reding thierry.reding at gmail.com
Tue Jan 14 06:55:32 PST 2014


Hi,

This small series introduces some infrastructure to support AUX channels
in a generic way. Drivers make use of it by embedding and filling in a
struct drm_dp_aux. Various helpers can then be used to for example read
from or write to the DPCD.

Patch 1 adds the basic infrastructure as well as a couple of helpers to
access the DPCD.

The helper introduced in patch 2 can be used to obtain the link status
as expected by various existing DP helpers.

More convenience helpers are added in patch 3, which can come in handy
during DP initialization.

An AUX channel can also be used to implement I2C-over-AUX and patch 4
implements an I2C adapter that can be used with the DRM EDID helpers.

Changes in v3:
- address comments by Jani Nikula:
  - keep debug and error messages in AUX helpers
  - read/write back-to-back registers in chunks
  - separate link power up and configuration
  - do not power up for DPCD prior to 1.1
  - sleep after power up as per the spec
  - return number of bytes transferred
  - factor out some common code
  - reorder function arguments
  - fix typo in comment
- address comments by Daniel Vetter:
  - embed i2c_adapter within struct drm_dp_aux
  - describe error codes

Changes in v2:
- reimplement I2C-over-AUX functionality to get rid of the additional
  layer
- extract retry logic from existing drivers
- add more kerneldoc comments

Thierry

Thierry Reding (4):
  drm/dp: Add AUX channel infrastructure
  drm/dp: Add drm_dp_dpcd_read_link_status()
  drm/dp: Add DisplayPort link helpers
  drm/dp: Allow registering AUX channels as I2C busses

 drivers/gpu/drm/drm_dp_helper.c | 403 ++++++++++++++++++++++++++++++++++++++++
 include/drm/drm_dp_helper.h     |  92 +++++++++
 2 files changed, 495 insertions(+)

-- 
1.8.4.2



More information about the dri-devel mailing list