drm/scdc: Document hotplug gotchas
There's some interactions between the SCDC setup and the disconnection / reconnection of displays. Let's document it and a solution. Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Maxime Ripard <maxime@cerno.tech> Link: https://lore.kernel.org/r/20220829134731.213478-9-maxime@cerno.tech
This commit is contained in:
parent
6bed2ea3cb
commit
68ded02cb2
|
@ -35,6 +35,19 @@
|
|||
* HDMI 2.0 specification. It is a point-to-point protocol that allows the
|
||||
* HDMI source and HDMI sink to exchange data. The same I2C interface that
|
||||
* is used to access EDID serves as the transport mechanism for SCDC.
|
||||
*
|
||||
* Note: The SCDC status is going to be lost when the display is
|
||||
* disconnected. This can happen physically when the user disconnects
|
||||
* the cable, but also when a display is switched on (such as waking up
|
||||
* a TV).
|
||||
*
|
||||
* This is further complicated by the fact that, upon a disconnection /
|
||||
* reconnection, KMS won't change the mode on its own. This means that
|
||||
* one can't just rely on setting the SCDC status on enable, but also
|
||||
* has to track the connector status changes using interrupts and
|
||||
* restore the SCDC status. The typical solution for this is to trigger an
|
||||
* empty modeset in drm_connector_helper_funcs.detect_ctx(), like what vc4 does
|
||||
* in vc4_hdmi_reset_link().
|
||||
*/
|
||||
|
||||
#define SCDC_I2C_SLAVE_ADDRESS 0x54
|
||||
|
|
Loading…
Reference in New Issue