OpenCloudOS-Kernel/Documentation/DocBook
Ville Syrjälä ede53344db drm: Add helper for DP++ adaptors
Add a helper which aids in the identification of DP dual mode
(aka. DP++) adaptors. There are several types of adaptors
specified: type 1 DVI, type 1 HDMI, type 2 DVI, type 2 HDMI

Type 1 adaptors have a max TMDS clock limit of 165MHz, type 2 adaptors
may go as high as 300MHz and they provide a register informing the
source device what the actual limit is. Supposedly also type 1 adaptors
may optionally implement this register. This TMDS clock limit is the
main reason why we need to identify these adaptors.

Type 1 adaptors provide access to their internal registers and the sink
DDC bus through I2C. Type 2 adaptors provide this access both via I2C
and I2C-over-AUX. A type 2 source device may choose to implement either
of these methods. If a source device implements the I2C-over-AUX
method, then the driver will obviously need specific support for such
adaptors since the port is driven like an HDMI port, but DDC
communication happes over the AUX channel.

This helper should be enough to identify the adaptor type (some
type 1 DVI adaptors may be a slight exception) and the maximum TMDS
clock limit. Another feature that may be available is control over
the TMDS output buffers on the adaptor, possibly allowing for some
power saving when the TMDS link is down.

Other user controllable features that may be available in the adaptors
are downstream i2c bus speed control when using i2c-over-aux, and
some control over the CEC pin. I chose not to provide any helper
functions for those since I have no use for them in i915 at this time.
The rest of the registers in the adaptor are mostly just information,
eg. IEEE OUI, hardware and firmware revision, etc.

v2: Pass adaptor type to helper functions to ease driver implementation
    Fix a bunch of typoes (Paulo)
    Add DRM_DP_DUAL_MODE_UNKNOWN for the case where we don't (yet) know
    the type (Paulo)
    Reject 0x00 and 0xff DP_DUAL_MODE_MAX_TMDS_CLOCK values (Paulo)
    Adjust drm_dp_dual_mode_detect() type2 vs. type1 detection to
    ease future LSPCON enabling
    Remove the unused DP_DUAL_MODE_LAST_RESERVED define
v3: Fix kernel doc function argument descriptions (Jani)
    s/NONE/UNKNOWN/ in drm_dp_dual_mode_detect() docs
    Add kernel doc for enum drm_dp_dual_mode_type
    Actually build the docs
    Fix more typoes
v4: Adjust code indentation of type2 adaptor detection (Shashank)
    Add debug messages for failurs cases (Shashank)
v5: EXPORT_SYMBOL(drm_dp_dual_mode_read) (Paulo)

Cc: stable@vger.kernel.org
Cc: Tore Anderson <tore@fud.no>
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Cc: Shashank Sharma <shashank.sharma@intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Shashank Sharma <shashank.sharma@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Shashank Sharma <shashank.sharma@intel.com> (v4)
Link: http://patchwork.freedesktop.org/patch/msgid/1462542412-25533-1-git-send-email-ville.syrjala@linux.intel.com
2016-05-09 14:05:17 +03:00
..
media [media] V4L: add Y12I, Y8I and Z16 pixel format documentation 2016-03-03 06:29:42 -03:00
.gitignore Docs/DocBook: Add .db files to .gitignore 2015-09-13 14:38:50 -06:00
80211.tmpl nl80211: allow BSS data to include CLOCK_BOOTTIME timestamp 2015-10-13 10:32:17 +02:00
Makefile DocBook: make index.html generation less verbose by default 2015-11-20 17:04:43 -07:00
alsa-driver-api.tmpl ALSA: DocBook: Add soc-ops.c and soc-compress.c 2015-10-28 12:37:50 +01:00
crypto-API.tmpl crypto: doc - add skcipher API documentation 2016-02-17 04:07:54 +08:00
debugobjects.tmpl debugobjects: Extend to assert that an object is initialized 2011-11-23 18:49:22 +01:00
device-drivers.tmpl Another relatively boring cycle for the docs tree: typo fixes, translation 2016-03-17 12:09:35 -07:00
deviceiobook.tmpl docbook: change iomap source filename in deviceiobook 2012-01-23 08:44:54 -08:00
filesystems.tmpl doc: Update doc about journalling layer 2015-07-23 20:59:39 +02:00
gadget.tmpl Revert "DocBook: Avoid building man pages repeatedly and inconsistently" 2015-08-06 12:44:44 -06:00
genericirq.tmpl DocBook: fix various typos 2014-07-12 11:30:36 -07:00
gpu.tmpl drm: Add helper for DP++ adaptors 2016-05-09 14:05:17 +03:00
iio.tmpl Doc: Docbook/iio: Fix typo in iio.tmpl 2015-11-20 17:09:05 -07:00
kernel-api.tmpl Revert "DocBook: Avoid building man pages repeatedly and inconsistently" 2015-08-06 12:44:44 -06:00
kernel-hacking.tmpl Documentation: extend use case for EXPORT_SYMBOL_GPL() 2015-06-05 07:39:46 +09:00
kernel-locking.tmpl locking/Documentation: Move locking related docs into Documentation/locking/ 2014-08-13 10:32:03 +02:00
kgdb.tmpl KGDB/KDB New: 2015-02-20 15:13:29 -08:00
libata.tmpl DocBook: fix various typos 2014-07-12 11:30:36 -07:00
librs.tmpl
lsm.tmpl
media_api.tmpl [media] use https://linuxtv.org for LinuxTV URLs 2015-12-04 10:38:59 -02:00
mtdnand.tmpl mtd: nand: update the documentation to reflect framework changes 2015-12-18 11:26:01 -08:00
networking.tmpl docbook: networking: fix file paths for uapi headers 2012-10-15 08:04:41 -07:00
rapidio.tmpl
regulator.tmpl DocBook: fix various typos 2014-07-12 11:30:36 -07:00
s390-drivers.tmpl
scsi.tmpl Doc: Docbook: Change wikipedia's URL from http to https in scsi.tmpl 2015-06-22 10:29:32 -06:00
sh.tmpl
stylesheet.xsl DocBook: Generate consistent IDs 2015-07-10 11:03:16 -06:00
tracepoint.tmpl
uio-howto.tmpl pdfdocs: Fix 'make pdfdocs' failure for 'uio-howto.tmpl' 2015-02-03 15:48:51 -08:00
usb.tmpl usb: devio: Add ioctl to disallow detaching kernel USB drivers. 2016-03-05 12:05:01 -08:00
w1.tmpl w1: format for DocBook and fixes 2014-02-07 15:40:18 -08:00
writing-an-alsa-driver.tmpl ALSA: Remove transfer_ack_{begin,end} callbacks from struct snd_pcm_runtime 2015-10-22 17:16:23 +02:00
writing_musb_glue_layer.tmpl documentation: docbook: document process of writing an musb glue layer 2014-05-12 12:34:47 -05:00
writing_usb_driver.tmpl doc: fix misspellings with 'codespell' tool 2013-05-28 12:02:12 +02:00
z8530book.tmpl