[PATCH v5 0/5] drm/dp: Introduce AUX channel infrastructure
Thierry Reding
thierry.reding at gmail.com
Thu Feb 20 07:55:29 PST 2014
From: Thierry Reding <treding at nvidia.com>
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.
Finally the Tegra eDP support in patch 5 shows how drivers can make use
of this new infrastructure.
Changes in v5:
- export DPCD helpers so that they are available in modules
- keep MOT set between I2C messages (as suggested by Ville)
- reshuffle some comments to where the fit better
- return -EPROTO on short reads in DPCD helpers
- relicense Tegra driver under GPL v2 for consistency
Changes in v4:
- fix a couple of typos in comments
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 (5):
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
drm/tegra: Add eDP support
.../bindings/gpu/nvidia,tegra20-host1x.txt | 42 +
drivers/gpu/drm/drm_dp_helper.c | 395 +++++++
drivers/gpu/drm/tegra/Makefile | 2 +
drivers/gpu/drm/tegra/dc.h | 1 +
drivers/gpu/drm/tegra/dpaux.c | 544 ++++++++++
drivers/gpu/drm/tegra/dpaux.h | 73 ++
drivers/gpu/drm/tegra/drm.c | 19 +-
drivers/gpu/drm/tegra/drm.h | 20 +
drivers/gpu/drm/tegra/output.c | 8 +
drivers/gpu/drm/tegra/sor.c | 1092 ++++++++++++++++++++
drivers/gpu/drm/tegra/sor.h | 278 +++++
include/drm/drm_dp_helper.h | 111 ++
12 files changed, 2583 insertions(+), 2 deletions(-)
create mode 100644 drivers/gpu/drm/tegra/dpaux.c
create mode 100644 drivers/gpu/drm/tegra/dpaux.h
create mode 100644 drivers/gpu/drm/tegra/sor.c
create mode 100644 drivers/gpu/drm/tegra/sor.h
--
1.8.4.2
More information about the dri-devel
mailing list