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

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

Merge "msm: mdss: fix crash when wrong params are passed on the esd config"

parents 604c0cee 35bfa1e5
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -92,6 +92,8 @@
	qcom,mdss-dsi-t-clk-post = <0x0d>;
	qcom,mdss-dsi-t-clk-pre = <0x2d>;
	qcom,cmd-sync-wait-broadcast;
	qcom,esd-check-enabled;
	qcom,mdss-dsi-panel-status-check-mode = "bta_check";
};

&dsi_dual_nt35597_truly_video {
@@ -110,12 +112,28 @@
	qcom,mdss-dsi-panel-timings = [00 11 04 04 07 0c 04 04 03 03 04 00];
	qcom,mdss-dsi-t-clk-post = <0x05>;
	qcom,mdss-dsi-t-clk-pre = <0x1b>;
	qcom,esd-check-enabled;
	qcom,mdss-dsi-panel-status-check-mode = "reg_read";
	qcom,mdss-dsi-panel-status-command = [06 01 00 01 00 00 01 0a];
	qcom,mdss-dsi-panel-status-command-state = "dsi_hs_mode";
	qcom,mdss-dsi-panel-status-value = <0x9c>;
	qcom,mdss-dsi-panel-on-check-value = <0x9c>;
	qcom,mdss-dsi-panel-status-read-length = <1>;
	qcom,mdss-dsi-panel-max-error-count = <3>;
};

&dsi_nt35597_dsc_cmd {
	qcom,mdss-dsi-panel-timings = [00 11 04 04 07 0c 04 04 03 03 04 00];
	qcom,mdss-dsi-t-clk-post = <0x05>;
	qcom,mdss-dsi-t-clk-pre = <0x1b>;
	qcom,esd-check-enabled;
	qcom,mdss-dsi-panel-status-check-mode = "reg_read";
	qcom,mdss-dsi-panel-status-command = [06 01 00 01 00 00 01 0a];
	qcom,mdss-dsi-panel-status-command-state = "dsi_hs_mode";
	qcom,mdss-dsi-panel-status-value = <0x9c>;
	qcom,mdss-dsi-panel-on-check-value = <0x9c>;
	qcom,mdss-dsi-panel-status-read-length = <1>;
	qcom,mdss-dsi-panel-max-error-count = <3>;
};

&dsi_sharp_4k_dsc_video {
+5 −0
Original line number Diff line number Diff line
@@ -1108,6 +1108,11 @@ static int mdss_dsi_read_status(struct mdss_dsi_ctrl_pdata *ctrl)
	rc = 1;
	lenp = ctrl->status_valid_params ?: ctrl->status_cmds_rlen;

	if (!lenp || !ctrl->status_cmds_rlen) {
		pr_err("invalid dsi read params!\n");
		return 0;
	}

	for (i = 0; i < ctrl->status_cmds.cmd_cnt; ++i) {
		memset(&cmdreq, 0, sizeof(cmdreq));
		cmdreq.cmds = ctrl->status_cmds.cmds + i;
+11 −1
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@

#include "mdss_dsi.h"
#include "mdss_dba_utils.h"
#include "mdss_debug.h"

#define DT_CMD_HDR 6
#define DEFAULT_MDP_TRANSFER_TIME 14000
@@ -1498,7 +1499,7 @@ static int mdss_dsi_parse_reset_seq(struct device_node *np,

static bool mdss_dsi_cmp_panel_reg_v2(struct mdss_dsi_ctrl_pdata *ctrl)
{
	int i, j;
	int i, j = 0;
	int len = 0, *lenp;
	int group = 0;

@@ -1507,6 +1508,15 @@ static bool mdss_dsi_cmp_panel_reg_v2(struct mdss_dsi_ctrl_pdata *ctrl)
	for (i = 0; i < ctrl->status_cmds.cmd_cnt; i++)
		len += lenp[i];

	for (i = 0; i < len; i++) {
		pr_debug("[%i] return:0x%x status:0x%x\n",
			i, (unsigned int)ctrl->return_buf[i],
			(unsigned int)ctrl->status_value[j + i]);
		MDSS_XLOG(ctrl->ndx, ctrl->return_buf[i],
			ctrl->status_value[j + i]);
		j += len;
	}

	for (j = 0; j < ctrl->groups; ++j) {
		for (i = 0; i < len; ++i) {
			if (ctrl->return_buf[i] !=