Loading drivers/gpu/drm/msm/dsi-staging/dsi_display.c +5 −2 Original line number Diff line number Diff line Loading @@ -1105,7 +1105,7 @@ static ssize_t dsi_host_transfer(struct mipi_dsi_host *host, goto error_disable_clks; } if (display->ctrl_count > 1) { if (display->ctrl_count > 1 && !(msg->flags & MIPI_DSI_MSG_UNICAST)) { rc = dsi_display_broadcast_cmd(display, msg); if (rc) { pr_err("[%s] cmd broadcast failed, rc=%d\n", Loading @@ -1113,7 +1113,10 @@ static ssize_t dsi_host_transfer(struct mipi_dsi_host *host, goto error_disable_cmd_engine; } } else { rc = dsi_ctrl_cmd_transfer(display->ctrl[0].ctrl, msg, int ctrl_idx = (msg->flags & MIPI_DSI_MSG_UNICAST) ? msg->ctrl : 0; rc = dsi_ctrl_cmd_transfer(display->ctrl[ctrl_idx].ctrl, msg, DSI_CTRL_CMD_FIFO_STORE); if (rc) { pr_err("[%s] cmd transfer failed, rc=%d\n", Loading drivers/gpu/drm/msm/dsi-staging/dsi_panel.h +1 −0 Original line number Diff line number Diff line Loading @@ -109,6 +109,7 @@ struct dsi_panel_cmd_set { enum dsi_cmd_set_type type; enum dsi_cmd_set_state state; u32 count; int ctrl_idx; struct dsi_cmd_desc *cmds; }; Loading include/drm/drm_mipi_dsi.h +4 −0 Original line number Diff line number Diff line Loading @@ -21,12 +21,15 @@ 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 * @tx_len: length of @tx_buf * @tx_buf: data to be written * @rx_len: length of @rx_buf Loading @@ -36,6 +39,7 @@ struct mipi_dsi_msg { u8 channel; u8 type; u16 flags; u32 ctrl; size_t tx_len; const void *tx_buf; Loading Loading
drivers/gpu/drm/msm/dsi-staging/dsi_display.c +5 −2 Original line number Diff line number Diff line Loading @@ -1105,7 +1105,7 @@ static ssize_t dsi_host_transfer(struct mipi_dsi_host *host, goto error_disable_clks; } if (display->ctrl_count > 1) { if (display->ctrl_count > 1 && !(msg->flags & MIPI_DSI_MSG_UNICAST)) { rc = dsi_display_broadcast_cmd(display, msg); if (rc) { pr_err("[%s] cmd broadcast failed, rc=%d\n", Loading @@ -1113,7 +1113,10 @@ static ssize_t dsi_host_transfer(struct mipi_dsi_host *host, goto error_disable_cmd_engine; } } else { rc = dsi_ctrl_cmd_transfer(display->ctrl[0].ctrl, msg, int ctrl_idx = (msg->flags & MIPI_DSI_MSG_UNICAST) ? msg->ctrl : 0; rc = dsi_ctrl_cmd_transfer(display->ctrl[ctrl_idx].ctrl, msg, DSI_CTRL_CMD_FIFO_STORE); if (rc) { pr_err("[%s] cmd transfer failed, rc=%d\n", Loading
drivers/gpu/drm/msm/dsi-staging/dsi_panel.h +1 −0 Original line number Diff line number Diff line Loading @@ -109,6 +109,7 @@ struct dsi_panel_cmd_set { enum dsi_cmd_set_type type; enum dsi_cmd_set_state state; u32 count; int ctrl_idx; struct dsi_cmd_desc *cmds; }; Loading
include/drm/drm_mipi_dsi.h +4 −0 Original line number Diff line number Diff line Loading @@ -21,12 +21,15 @@ 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 * @tx_len: length of @tx_buf * @tx_buf: data to be written * @rx_len: length of @rx_buf Loading @@ -36,6 +39,7 @@ struct mipi_dsi_msg { u8 channel; u8 type; u16 flags; u32 ctrl; size_t tx_len; const void *tx_buf; Loading