Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7eeab7a3 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "drm/msm/dsi-staging: add support to wait post dsi command rx"

parents f9eb9392 ae2b028a
Loading
Loading
Loading
Loading
+3 −6
Original line number Original line Diff line number Diff line
@@ -1338,9 +1338,6 @@ static int dsi_message_rx(struct dsi_ctrl *dsi_ctrl,
	u32 dlen, diff, rlen = msg->rx_len;
	u32 dlen, diff, rlen = msg->rx_len;
	unsigned char *buff;
	unsigned char *buff;
	char cmd;
	char cmd;
	struct dsi_cmd_desc *of_cmd;

	of_cmd = container_of(msg, struct dsi_cmd_desc, msg);


	if (msg->rx_len <= 2) {
	if (msg->rx_len <= 2) {
		short_resp = true;
		short_resp = true;
@@ -1378,9 +1375,9 @@ static int dsi_message_rx(struct dsi_ctrl *dsi_ctrl,
		 * wait before reading rdbk_data register, if any delay is
		 * wait before reading rdbk_data register, if any delay is
		 * required after sending the read command.
		 * required after sending the read command.
		 */
		 */
		if (of_cmd && of_cmd->post_wait_ms)
		if (msg->wait_ms)
			usleep_range(of_cmd->post_wait_ms * 1000,
			usleep_range(msg->wait_ms * 1000,
				     ((of_cmd->post_wait_ms * 1000) + 10));
				     ((msg->wait_ms * 1000) + 10));


		dlen = dsi_ctrl->hw.ops.get_cmd_read_data(&dsi_ctrl->hw,
		dlen = dsi_ctrl->hw.ops.get_cmd_read_data(&dsi_ctrl->hw,
					buff, total_bytes_read,
					buff, total_bytes_read,
+1 −1
Original line number Original line Diff line number Diff line
@@ -753,7 +753,7 @@ static int dsi_display_cmd_prepare(const char *cmd_buf, u32 cmd_buf_len,
	cmd->msg.channel = cmd_buf[2];
	cmd->msg.channel = cmd_buf[2];
	cmd->msg.flags = cmd_buf[3];
	cmd->msg.flags = cmd_buf[3];
	cmd->msg.ctrl = 0;
	cmd->msg.ctrl = 0;
	cmd->post_wait_ms = cmd_buf[4];
	cmd->post_wait_ms = cmd->msg.wait_ms = cmd_buf[4];
	cmd->msg.tx_len = ((cmd_buf[5] << 8) | (cmd_buf[6]));
	cmd->msg.tx_len = ((cmd_buf[5] << 8) | (cmd_buf[6]));


	if (cmd->msg.tx_len > payload_len) {
	if (cmd->msg.tx_len > payload_len) {
+3 −1
Original line number Original line Diff line number Diff line
@@ -1536,7 +1536,7 @@ static int dsi_panel_create_cmd_packets(const char *data,
		cmd[i].msg.channel = data[2];
		cmd[i].msg.channel = data[2];
		cmd[i].msg.flags |= (data[3] == 1 ? MIPI_DSI_MSG_REQ_ACK : 0);
		cmd[i].msg.flags |= (data[3] == 1 ? MIPI_DSI_MSG_REQ_ACK : 0);
		cmd[i].msg.ctrl = 0;
		cmd[i].msg.ctrl = 0;
		cmd[i].post_wait_ms = data[4];
		cmd[i].post_wait_ms = cmd[i].msg.wait_ms = data[4];
		cmd[i].msg.tx_len = ((data[5] << 8) | (data[6]));
		cmd[i].msg.tx_len = ((data[5] << 8) | (data[6]));


		size = cmd[i].msg.tx_len * sizeof(u8);
		size = cmd[i].msg.tx_len * sizeof(u8);
@@ -3514,6 +3514,7 @@ static int dsi_panel_roi_prepare_dcs_cmds(struct dsi_panel_cmd_set *set,
	set->cmds[0].msg.tx_buf = caset;
	set->cmds[0].msg.tx_buf = caset;
	set->cmds[0].msg.rx_len = 0;
	set->cmds[0].msg.rx_len = 0;
	set->cmds[0].msg.rx_buf = 0;
	set->cmds[0].msg.rx_buf = 0;
	set->cmds[0].msg.wait_ms = 0;
	set->cmds[0].last_command = 0;
	set->cmds[0].last_command = 0;
	set->cmds[0].post_wait_ms = 0;
	set->cmds[0].post_wait_ms = 0;


@@ -3525,6 +3526,7 @@ static int dsi_panel_roi_prepare_dcs_cmds(struct dsi_panel_cmd_set *set,
	set->cmds[1].msg.tx_buf = paset;
	set->cmds[1].msg.tx_buf = paset;
	set->cmds[1].msg.rx_len = 0;
	set->cmds[1].msg.rx_len = 0;
	set->cmds[1].msg.rx_buf = 0;
	set->cmds[1].msg.rx_buf = 0;
	set->cmds[1].msg.wait_ms = 0;
	set->cmds[1].last_command = 1;
	set->cmds[1].last_command = 1;
	set->cmds[1].post_wait_ms = 0;
	set->cmds[1].post_wait_ms = 0;


+2 −0
Original line number Original line Diff line number Diff line
@@ -32,6 +32,7 @@ struct mipi_dsi_device;
 * @type: payload data type
 * @type: payload data type
 * @flags: flags controlling this message transmission
 * @flags: flags controlling this message transmission
 * @ctrl: ctrl index to transmit on
 * @ctrl: ctrl index to transmit on
 * @wait_ms: duration in ms to wait after message transmission
 * @tx_len: length of @tx_buf
 * @tx_len: length of @tx_buf
 * @tx_buf: data to be written
 * @tx_buf: data to be written
 * @rx_len: length of @rx_buf
 * @rx_len: length of @rx_buf
@@ -42,6 +43,7 @@ struct mipi_dsi_msg {
	u8 type;
	u8 type;
	u16 flags;
	u16 flags;
	u32 ctrl;
	u32 ctrl;
	u32 wait_ms;


	size_t tx_len;
	size_t tx_len;
	const void *tx_buf;
	const void *tx_buf;