| From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 |
| From: Shashank Babu Chinta Venkata <sbchin@codeaurora.org> |
| Date: Mon, 9 Sep 2019 17:48:16 -0700 |
| Subject: ANDROID: include: drm: support unicasting mipi cmds to dsi ctrls |
| |
| Add support into the drm_mipi_dsi framework to support |
| unicasting DCS commands to specific DSI controls within a panel. |
| This is required for partial update where region of interest |
| spans only on one controller in a dual controller configuration. |
| Also, Some display panel have the requirement of waiting for certain |
| duration before dsi host can read back the response from panel during |
| a DCS read command. This change adds the support to store |
| the delay required in dsi message structure. |
| |
| Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org> |
| Bug: 139653858 |
| Change-Id: I3a99437441410a2514f9486d08ae3ba68670769e |
| --- |
| include/drm/drm_mipi_dsi.h | 6 ++++++ |
| 1 file changed, 6 insertions(+) |
| |
| diff --git a/include/drm/drm_mipi_dsi.h b/include/drm/drm_mipi_dsi.h |
| index 13cf2ae59f6c..43cd3726c818 100644 |
| --- a/include/drm/drm_mipi_dsi.h |
| +++ b/include/drm/drm_mipi_dsi.h |
| @@ -18,12 +18,16 @@ struct mipi_dsi_device; |
| #define MIPI_DSI_MSG_REQ_ACK BIT(0) |
| /* use Low Power Mode to transmit message */ |
| #define MIPI_DSI_MSG_USE_LPM BIT(1) |
| +/* read mipi_dsi_msg.ctrl and unicast to only that ctrls */ |
| +#define MIPI_DSI_MSG_UNICAST BIT(2) |
| |
| /** |
| * struct mipi_dsi_msg - read/write DSI buffer |
| * @channel: virtual channel id |
| * @type: payload data type |
| * @flags: flags controlling this message transmission |
| + * @ctrl: ctrl index to transmit on |
| + * @wait_ms: duration in ms to wait after message transmission |
| * @tx_len: length of @tx_buf |
| * @tx_buf: data to be written |
| * @rx_len: length of @rx_buf |
| @@ -33,6 +37,8 @@ struct mipi_dsi_msg { |
| u8 channel; |
| u8 type; |
| u16 flags; |
| + u32 ctrl; |
| + u32 wait_ms; |
| |
| size_t tx_len; |
| const void *tx_buf; |