'\" t .\" Title: struct drm_dp_aux .\" Author: .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: May 2018 .\" Manual: DRM Core .\" Source: Kernel Hackers Manual 3.16.56 .\" Language: English .\" .TH "STRUCT DRM_DP_AUX" "9" "May 2018" "Kernel Hackers Manual 3\&.16\&" "DRM Core" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" struct_drm_dp_aux \- DisplayPort AUX channel .SH "SYNOPSIS" .sp .nf struct drm_dp_aux { const char * name; struct i2c_adapter ddc; struct device * dev; struct mutex hw_mutex; ssize_t (* transfer) (struct drm_dp_aux *aux,struct drm_dp_aux_msg *msg); }; .fi .SH "MEMBERS" .PP name .RS 4 user\-visible name of this AUX channel and the I2C\-over\-AUX adapter .RE .PP ddc .RS 4 I2C adapter that can be used for I2C\-over\-AUX communication .RE .PP dev .RS 4 pointer to struct device that is the parent for this AUX channel .RE .PP hw_mutex .RS 4 internal mutex used for locking transfers .RE .PP transfer .RS 4 transfers a message representing a single AUX transaction .RE .SH "DESCRIPTION" .PP The \&.dev field should be set to a pointer to the device that implements the AUX channel\&. .PP The \&.name field may be used to specify the name of the I2C adapter\&. If set to NULL, \fBdev_name\fR of \&.dev will be used\&. .PP Drivers provide a hardware\-specific implementation of how transactions are executed via the \&.\fBtransfer\fR function\&. A pointer to a drm_dp_aux_msg structure describing the transaction is passed into this function\&. Upon success, the implementation should return the number of payload bytes that were transferred, or a negative error\-code on failure\&. Helpers propagate errors from the \&.\fBtransfer\fR function, with the exception of the \-EBUSY error, which causes a transaction to be retried\&. On a short, helpers will return \-EPROTO to make it simpler to check for failure\&. .PP An AUX channel can also be used to transport I2C messages to a sink\&. A typical application of that is to access an EDID that\*(Aqs present in the sink device\&. The \&.\fBtransfer\fR function can also be used to execute such transactions\&. The \fBdrm_dp_aux_register_i2c_bus\fR function registers an I2C adapter that can be passed to \fBdrm_probe_ddc\fR\&. Upon removal, drivers should call \fBdrm_dp_aux_unregister_i2c_bus\fR to remove the I2C adapter\&. .PP Note that the aux helper code assumes that the \&.\fBtransfer\fR function only modifies the reply field of the drm_dp_aux_msg structure\&. The retry logic and i2c helpers assume this is the case\&. .SH "AUTHORS" .PP \fBJesse Barnes\fR <\&jesse.barnes@intel.com\&> .br Intel Corporation, .RS 4 Initial version .RE .PP \fBLaurent Pinchart\fR <\&laurent.pinchart@ideasonboard.com\&> .br Ideas on board SPRL, .RS 4 Driver internals .RE .PP \fBDaniel Vetter\fR <\&daniel.vetter@ffwll.ch\&> .br Intel Corporation, .RS 4 Contributions all over the place .RE .SH "COPYRIGHT" .br