From 6ae21ba49078d1e2bf5f6959c1f35d458b4837a5 Mon Sep 17 00:00:00 2001 From: Bang Nguyen Date: Thu, 28 Feb 2019 09:51:54 -0600 Subject: [PATCH] drm: mipi: Disable the MIPI DSI commands 0x2E and 0x3E For the Secure UI feature, the display feature, which allows host to read-back its internal memory buffer, should be disable. The MIPI DSI command 0x2E (read_memory_start) and 0x3E (read_memory_continue) will be disable. Port from: bde6847 Change-Id: Ifc2579051e8005de5e915aad1bccd883c681572f Signed-off-by: Bang Nguyen Reviewed-on: https://gerrit.mot.com/1444417 SLTApproved: Slta Waiver SME-Granted: SME Approvals Granted Tested-by: Jira Key Submit-Approved: Jira Key Reviewed-on: https://gerrit.mot.com/1509784 Reviewed-by: Xiangpo Zhao --- drivers/gpu/drm/drm_mipi_dsi.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/gpu/drm/drm_mipi_dsi.c b/drivers/gpu/drm/drm_mipi_dsi.c index b142e3d3b546..2c713b277934 100644 --- a/drivers/gpu/drm/drm_mipi_dsi.c +++ b/drivers/gpu/drm/drm_mipi_dsi.c @@ -445,6 +445,8 @@ EXPORT_SYMBOL(mipi_dsi_packet_format_is_long); int mipi_dsi_create_packet(struct mipi_dsi_packet *packet, const struct mipi_dsi_msg *msg) { + const u8 *dsi_buf; + if (!packet || !msg) return -EINVAL; @@ -456,6 +458,13 @@ int mipi_dsi_create_packet(struct mipi_dsi_packet *packet, if (msg->channel > 3) return -EINVAL; + dsi_buf = msg->tx_buf; + if ((dsi_buf[0] == MIPI_DCS_READ_MEMORY_START) || + (dsi_buf[0] == MIPI_DCS_READ_MEMORY_CONTINUE)) { + pr_debug("%s: Invalid dsi_cmd=0x%4x\n", __func__, dsi_buf[0]); + return -EINVAL; + } + memset(packet, 0, sizeof(*packet)); packet->header[2] = ((msg->channel & 0x3) << 6) | (msg->type & 0x3f);