aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/drm/drm_mipi_dsi.h
diff options
context:
space:
mode:
authorMaxime Ripard <maxime@cerno.tech>2021-06-16 16:15:29 +0200
committerMaxime Ripard <maxime@cerno.tech>2021-06-23 14:32:27 +0200
commitbacbab58f09dcf7c9a52b9f11388b3e25b9daa5f (patch)
tree6358fbcfee0ccb6f03f078ec984967025f3cf0e8 /include/drm/drm_mipi_dsi.h
parentdrm/dp_helper: Mention the concurrency requirement hw_mutex (diff)
downloadwireguard-linux-bacbab58f09dcf7c9a52b9f11388b3e25b9daa5f.tar.xz
wireguard-linux-bacbab58f09dcf7c9a52b9f11388b3e25b9daa5f.zip
drm: Mention the power state requirement on side-channel operations
The drm_connector detect, drm_dp_aux transfer and mipi_dsi_host operations typically require to access their underlying device to perform what is expected of them. However, there's no guarantee on the fact that the device has been enabled through atomic_enable or similar that will usually power the device. The access to an unpowered device is then an undefined behaviour ranging from the access being ignored to a hard CPU hang. Let's document that expectation to avoid as much as possible those consequences. Signed-off-by: Maxime Ripard <maxime@cerno.tech> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/20210616141529.630719-3-maxime@cerno.tech
Diffstat (limited to 'include/drm/drm_mipi_dsi.h')
-rw-r--r--include/drm/drm_mipi_dsi.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/drm/drm_mipi_dsi.h b/include/drm/drm_mipi_dsi.h
index 360e6377e84b..849d3029e303 100644
--- a/include/drm/drm_mipi_dsi.h
+++ b/include/drm/drm_mipi_dsi.h
@@ -80,6 +80,11 @@ int mipi_dsi_create_packet(struct mipi_dsi_packet *packet,
* Note that typically DSI packet transmission is atomic, so the .transfer()
* function will seldomly return anything other than the number of bytes
* contained in the transmit buffer on success.
+ *
+ * Also note that those callbacks can be called no matter the state the
+ * host is in. Drivers that need the underlying device to be powered to
+ * perform these operations will first need to make sure it's been
+ * properly enabled.
*/
struct mipi_dsi_host_ops {
int (*attach)(struct mipi_dsi_host *host,