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 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
 * 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-pan-physical-width-dimension = <74>;
		qcom,mdss-pan-physical-height-dimension = <131>;
		qcom,mdss-dsi-dma-schedule-line = <5>;

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

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

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

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

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

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

		print_hex_dump(KERN_DEBUG, buf, DUMP_PREFIX_NONE,
			8, 1, msg->buffer, msg->size, false);
	for (i = 0; i < msg->size; i += rowsize) {
		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
+23 −1
Original line number 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.
		 */
		mvid = (u32) mvid_calc;

		if (panel->widebus_en) {
			mvid <<= 1;
			nvid <<= 1;
		}
	} else {
		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);

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

		if (link_rate_hbr2 == rate)
			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_io_data *io_data;
	u32 offset = 0;
	u32 offset = 0, reg;

	if (!panel) {
		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_write(catalog->exe_mode, io_data, DP_ACTIVE_HOR_VER + offset,
			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:
	return 0;
}
Loading