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

Commit 6f46a1f9 authored by qctecmdr Service's avatar qctecmdr Service Committed by Gerrit - the friendly Code Review server
Browse files

Merge "Merge remote-tracking branch 'quic/dev/msm-4.14-display' into msm-4.14"

parents e1ea1069 b3b56717
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
/* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
/* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
 *
 *
 * This program is free software; you can redistribute it and/or modify
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * it under the terms of the GNU General Public License version 2 and
@@ -37,6 +37,7 @@
		qcom,mdss-dsi-reset-sequence = <1 10>, <0 10>, <1 10>;
		qcom,mdss-dsi-reset-sequence = <1 10>, <0 10>, <1 10>;
		qcom,mdss-pan-physical-width-dimension = <74>;
		qcom,mdss-pan-physical-width-dimension = <74>;
		qcom,mdss-pan-physical-height-dimension = <131>;
		qcom,mdss-pan-physical-height-dimension = <131>;
		qcom,mdss-dsi-dma-schedule-line = <5>;


		qcom,mdss-dsi-display-timings {
		qcom,mdss-dsi-display-timings {
			timing@0{
			timing@0{
+12 −4
Original line number Original line Diff line number Diff line
@@ -698,10 +698,11 @@


	qcom,mdss-dsi-display-timings {
	qcom,mdss-dsi-display-timings {
		timing@0{
		timing@0{
			qcom,mdss-dsi-panel-phy-timings = [00 1A 06 06 22 20 07
			qcom,mdss-dsi-panel-phy-timings = [00 1E 08 08 24 22 08
				07 04 02 04 00];
				08 05 02 04 00];
			qcom,display-topology = <1 0 1>;
			qcom,display-topology = <1 0 1>;
			qcom,default-topology-index = <0>;
			qcom,default-topology-index = <0>;
			qcom,mdss-dsi-panel-clockrate = <900000000>;
		};
		};
	};
	};
};
};
@@ -858,6 +859,13 @@
};
};


&dsi_sw43404_amoled_video {
&dsi_sw43404_amoled_video {
	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_lp_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-display-timings {
	qcom,mdss-dsi-display-timings {
		timing@0 {
		timing@0 {
			qcom,mdss-dsi-panel-phy-timings = [00 1a 07 06 22 21 07
			qcom,mdss-dsi-panel-phy-timings = [00 1a 07 06 22 21 07
@@ -870,8 +878,8 @@
};
};


&dsi_sharp_1080_cmd {
&dsi_sharp_1080_cmd {
	qcom,mdss-dsi-t-clk-post = <0x16>;
	qcom,mdss-dsi-t-clk-post = <0x18>;
	qcom,mdss-dsi-t-clk-pre = <0x16>;
	qcom,mdss-dsi-t-clk-pre = <0x19>;
	qcom,mdss-dsi-display-timings {
	qcom,mdss-dsi-display-timings {
		timing@0{
		timing@0{
			qcom,mdss-dsi-panel-phy-timings = [00 1A 06 06 22 20 07
			qcom,mdss-dsi-panel-phy-timings = [00 1A 06 06 22 20 07
+1 −0
Original line number Original line Diff line number Diff line
@@ -149,6 +149,7 @@
		qcom,sde-highest-bank-bit = <0x2>;
		qcom,sde-highest-bank-bit = <0x2>;
		qcom,sde-ubwc-version = <0x300>;
		qcom,sde-ubwc-version = <0x300>;
		qcom,sde-ubwc-bw-calc-version = <0x1>;
		qcom,sde-ubwc-bw-calc-version = <0x1>;
		qcom,sde-smart-panel-align-mode = <0xc>;
		qcom,sde-panic-per-pipe;
		qcom,sde-panic-per-pipe;
		qcom,sde-has-cdp;
		qcom,sde-has-cdp;
		qcom,sde-has-src-split;
		qcom,sde-has-src-split;
+17 −11
Original line number Original line Diff line number Diff line
@@ -58,20 +58,26 @@ struct dp_aux_private {
static void dp_aux_hex_dump(struct drm_dp_aux *drm_aux,
static void dp_aux_hex_dump(struct drm_dp_aux *drm_aux,
		struct drm_dp_aux_msg *msg)
		struct drm_dp_aux_msg *msg)
{
{
	DEFINE_DYNAMIC_DEBUG_METADATA(ddm, "dp aux tracker");
	char prefix[64];

	int i, linelen, remaining = msg->size;
	if (unlikely(ddm.flags & _DPRINTK_FLAGS_PRINT)) {
	const int rowsize = 16;
		u8 buf[SZ_64];
	u8 linebuf[64];
	struct dp_aux_private *aux = container_of(drm_aux,
	struct dp_aux_private *aux = container_of(drm_aux,
		struct dp_aux_private, drm_aux);
		struct dp_aux_private, drm_aux);


		snprintf(buf, SZ_64, "[drm-dp] %5s %5s %5xh(%2zu): ",
	snprintf(prefix, sizeof(prefix), "%s %s %4xh(%2zu): ",
			aux->native ? "NATIVE" : "I2C",
		aux->native ? "NAT" : "I2C",
			aux->read ? "READ" : "WRITE",
		aux->read ? "RD" : "WR",
		msg->address, msg->size);
		msg->address, msg->size);


		print_hex_dump(KERN_DEBUG, buf, DUMP_PREFIX_NONE,
	for (i = 0; i < msg->size; i += rowsize) {
			8, 1, msg->buffer, msg->size, false);
		linelen = min(remaining, rowsize);
		remaining -= rowsize;

		hex_dump_to_buffer(msg->buffer + i, linelen, rowsize, 1,
			linebuf, sizeof(linebuf), false);

		pr_debug("%s%s\n", prefix, linebuf);
	}
	}
}
}
#else
#else
+23 −1
Original line number Original line Diff line number Diff line
@@ -940,6 +940,11 @@ static void dp_catalog_panel_config_msa(struct dp_catalog_panel *panel,
		 * always be within the range of a 32 bit unsigned int.
		 * always be within the range of a 32 bit unsigned int.
		 */
		 */
		mvid = (u32) mvid_calc;
		mvid = (u32) mvid_calc;

		if (panel->widebus_en) {
			mvid <<= 1;
			nvid <<= 1;
		}
	} else {
	} else {
		io_data = catalog->io.dp_mmss_cc;
		io_data = catalog->io.dp_mmss_cc;


@@ -957,6 +962,9 @@ static void dp_catalog_panel_config_msa(struct dp_catalog_panel *panel,


		pr_debug("rate = %d\n", rate);
		pr_debug("rate = %d\n", rate);


		if (panel->widebus_en)
			mvid <<= 1;

		if (link_rate_hbr2 == rate)
		if (link_rate_hbr2 == rate)
			nvid *= 2;
			nvid *= 2;


@@ -1724,7 +1732,7 @@ static int dp_catalog_panel_timing_cfg(struct dp_catalog_panel *panel)
{
{
	struct dp_catalog_private *catalog;
	struct dp_catalog_private *catalog;
	struct dp_io_data *io_data;
	struct dp_io_data *io_data;
	u32 offset = 0;
	u32 offset = 0, reg;


	if (!panel) {
	if (!panel) {
		pr_err("invalid input\n");
		pr_err("invalid input\n");
@@ -1750,6 +1758,20 @@ static int dp_catalog_panel_timing_cfg(struct dp_catalog_panel *panel)
		DP_HSYNC_VSYNC_WIDTH_POLARITY + offset, panel->width_blanking);
		DP_HSYNC_VSYNC_WIDTH_POLARITY + offset, panel->width_blanking);
	dp_write(catalog->exe_mode, io_data, DP_ACTIVE_HOR_VER + offset,
	dp_write(catalog->exe_mode, io_data, DP_ACTIVE_HOR_VER + offset,
			panel->dp_active);
			panel->dp_active);

	if (panel->stream_id == DP_STREAM_0)
		io_data = catalog->io.dp_p0;
	else
		io_data = catalog->io.dp_p1;

	reg = dp_read(catalog->exe_mode, io_data, MMSS_DP_INTF_CONFIG);

	if (panel->widebus_en)
		reg |= BIT(4);
	else
		reg &= ~BIT(4);

	dp_write(catalog->exe_mode, io_data, MMSS_DP_INTF_CONFIG, reg);
end:
end:
	return 0;
	return 0;
}
}
Loading