other versions
- jessie 3.16.56-1+deb8u1
STRUCT DRM_DP_AUX(9) | DRM Core | STRUCT DRM_DP_AUX(9) |
NAME¶
struct_drm_dp_aux - DisplayPort AUX channelSYNOPSIS¶
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); };
MEMBERS¶
nameuser-visible name of this AUX channel and the
I2C-over-AUX adapter
ddc
I2C adapter that can be used for I2C-over-AUX
communication
dev
pointer to struct device that is the parent for this AUX
channel
hw_mutex
internal mutex used for locking transfers
transfer
transfers a message representing a single AUX
transaction
DESCRIPTION¶
The .dev field should be set to a pointer to the device that implements the AUX channel. The .name field may be used to specify the name of the I2C adapter. If set to NULL, dev_name of .dev will be used. Drivers provide a hardware-specific implementation of how transactions are executed via the . transfer 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 . transfer 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. 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's present in the sink device. The . transfer function can also be used to execute such transactions. The drm_dp_aux_register_i2c_bus function registers an I2C adapter that can be passed to drm_probe_ddc. Upon removal, drivers should call drm_dp_aux_unregister_i2c_bus to remove the I2C adapter. Note that the aux helper code assumes that the . transfer function only modifies the reply field of the drm_dp_aux_msg structure. The retry logic and i2c helpers assume this is the case.AUTHORS¶
Jesse Barnes <jesse.barnes@intel.com>Initial version
Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Driver internals
Daniel Vetter <daniel.vetter@ffwll.ch>
Contributions all over the place
COPYRIGHT¶
May 2018 | Kernel Hackers Manual 3.16 |