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

Commit a8468700 authored by Abhijith Desai's avatar Abhijith Desai
Browse files

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



* quic/dev/msm-4.14-display:
  drm/msm/sde: add support to access hw irqs regs depending on revision
  drm/msm/sde: update QSEED4 UV_PRELOAD configs
  drm/msm/sde: add qseed4 support
  ARM: dts: msm: add Sharp qsync panel for sdmmagpie
  disp: msm: sde: add proper null checks
  disp: msm: sde: add per_pipe_bw_high option
  drm/msm/sde: expose ubwc version through capability blob
  drm/msm/sde: fix the possible memory leak in driver catalog
  drm/msm/sde: increase Bus BW ib/ab vote during cont-splash
  drm/msm/sde: add support to handle horz and vert decimation support
  drm/msm/sde: add sui blendstage and QoS FL caps for kona
  drm/msm/sde: add CWB and LUTDMA VBIF remap setting
  drm/msm/sde: use cwb qos lut during clone mode for cwb
  drm:msm:sde: avoid triggeering vsync callback on CWB encoder
  drm/msm/sde: add support for overlap pixels width
  drm/msm/dsi-staging: add support for overlap pixels in dsi driver
  drm/msm/sde: check for ppsplit topology from current state
  msm/sde: add SID register support for offline rotator
  drm/msm: handle rsc jitter time based on rsc state
  drm/msm: update rsc_min_threshold for sde rsc hw block
  drm/msm: set sde rsc min threshold time
  drm/msm: adjust backoff time sde rsc
  drm/msm: update mode2 entry sequence for sde rsc
  drm:msm: add kona sde rsc support
  drm:msm:sde: avoid CWB connector in determining active crtc
  drm/msm/dsi-staging: fix the DMS mode flag setting
  drm/msm/sde: Enable pp-split support for display driver
  drm/msm/sde: ensure rsc in vid state at writeback null commit
  drm/msm/dp: clear ASSR in ctrl config
  drm/msm/sde: fix null access for wb modes
  drm/msm/sde: Correct initialization value for frame count
  drm:msm: Update msm driver to allow async suspend / resume callbacks

Change-Id: I29bc7f3d73ed3d38059f70b764aa282d613e1dfa
Signed-off-by: default avatarAbhijith Desai <desaia@codeaurora.org>
parents ace36422 068f5a8d
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -143,6 +143,8 @@ Optional properties:
					0 = default value
- qcom,mdss-dsi-v-bottom-border:	Vertical bottom border in pixel.
					0 = default value
- qcom,mdss-dsi-overlap-pixels:		Horizontal overlap pixels for certain panels.
					0 = default value
- qcom,mdss-dsi-underflow-color:	Specifies the controller settings for the
					panel under flow color.
					0xff = default value.
+260 −0
Original line number Diff line number Diff line
/* Copyright (c) 2019, 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
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

&mdss_mdp {
	dsi_sharp_qsync_wqhd_cmd: qcom,mdss_dsi_sharp_qsync_wqhd_cmd {
		qcom,mdss-dsi-panel-name = "Sharp 2k cmd mode qsync dsi panel";
		qcom,mdss-dsi-panel-type = "dsi_cmd_mode";

		qcom,mdss-dsi-virtual-channel-id = <0>;
		qcom,mdss-dsi-stream = <0>;
		qcom,mdss-dsi-bpp = <24>;
		qcom,mdss-dsi-border-color = <0>;
		qcom,mdss-dsi-traffic-mode = "burst_mode";
		qcom,mdss-dsi-bllp-eof-power-mode;
		qcom,mdss-dsi-lane-0-state;
		qcom,mdss-dsi-lane-1-state;
		qcom,mdss-dsi-lane-2-state;
		qcom,mdss-dsi-lane-3-state;
		qcom,mdss-dsi-dma-trigger = "trigger_sw";
		qcom,mdss-dsi-mdp-trigger = "none";
		qcom,mdss-dsi-reset-sequence = <1 10>, <0 10>, <1 10>;
		qcom,mdss-pan-physical-width-dimension = <74>;
		qcom,mdss-pan-physical-height-dimension = <134>;
		qcom,mdss-dsi-te-pin-select = <1>;
		qcom,mdss-dsi-wr-mem-start = <0x2c>;
		qcom,mdss-dsi-wr-mem-continue = <0x3c>;
		qcom,mdss-dsi-te-dcs-command = <1>;
		qcom,mdss-dsi-te-check-enable;
		qcom,mdss-dsi-te-using-te-pin;
		qcom,mdss-dsi-tx-eot-append;
		qcom,adjust-timer-wakeup-ms = <1>;
		qcom,mdss-dsi-panel-hdr-enabled;
		qcom,mdss-dsi-panel-hdr-color-primaries = <15000 16000 33750
				15800 13250 34450 7500 3000>;
		qcom,mdss-dsi-panel-peak-brightness = <6450000>;
		qcom,mdss-dsi-panel-blackness-level = <4961>;

		qcom,mdss-dsi-display-timings {
			timing@0 {
				qcom,mdss-dsi-panel-width = <540>;
				qcom,mdss-dsi-panel-height = <1920>;
				qcom,mdss-dsi-h-front-porch = <20>;
				qcom,mdss-dsi-h-back-porch = <12>;
				qcom,mdss-dsi-h-pulse-width = <8>;
				qcom,mdss-dsi-h-sync-skew = <0>;
				qcom,mdss-dsi-v-back-porch = <14>;
				qcom,mdss-dsi-v-front-porch = <16>;
				qcom,mdss-dsi-v-pulse-width = <2>;
				qcom,mdss-dsi-panel-framerate = <60>;
				qcom,mdss-dsi-panel-jitter = <0x3 0x1>;
				qcom,mdss-dsi-timing-switch-command = [
					39 01 00 00 00 00 02 ff 10
					39 01 00 00 00 00 02 fb 01
					39 01 00 00 00 00 02 c0 85
					39 01 00 00 00 00 11 c1 89 28 00 08 02
					00 02 0e 00 bb 00 07 0d b7 0c b7
					39 01 00 00 00 00 03 c2 10 f0
					39 01 00 00 00 00 02 ff 24
					39 01 00 00 00 00 02 fb 01
					39 01 00 00 00 00 02 16 00
					39 01 00 00 00 00 02 17 10
					39 01 00 00 00 00 02 ff 26
					39 01 00 00 00 00 02 fb 01
					39 01 00 00 00 00 02 60 00
					39 01 00 00 00 00 02 62 01
				];
				qcom,mdss-dsi-on-command = [
					39 01 00 00 00 00 02 ff d0
					39 01 00 00 00 00 02 75 40
					39 01 00 00 10 00 02 f1 40
					39 01 00 00 00 00 02 ff 10
					39 01 00 00 10 00 06 2c 01 02 04 08 10
					39 01 00 00 00 00 02 ff d0
					39 01 00 00 00 00 02 75 00
					39 01 00 00 10 00 02 f1 00
					/* Initial Setting */
					39 01 00 00 00 00 02 ff 10
					39 01 00 00 00 00 02 fb 01
					39 01 00 00 00 00 02 ba 03
					39 01 00 00 00 00 02 bc 08
					39 01 00 00 00 00 02 c0 85
					39 01 00 00 00 00 11 c1 89 28 00 08 02
					00 02 0e 00 bb 00 07 0d b7 0c b7
					39 01 00 00 00 00 03 c2 10 f0
					39 01 00 00 00 00 02 d5 00
					39 01 00 00 00 00 02 d6 00
					39 01 00 00 00 00 02 de 00
					39 01 00 00 00 00 02 e1 00
					39 01 00 00 00 00 02 e5 01
					39 01 00 00 00 00 02 bb 10
					39 01 00 00 00 00 02 f6 70
					39 01 00 00 00 00 02 f7 80
					39 01 00 00 00 00 02 35 00
					39 01 00 00 00 00 02 44 00
					39 01 00 00 00 00 02 ff 20
					39 01 00 00 00 00 02 fb 01
					39 01 00 00 00 00 02 87 02
					39 01 00 00 00 00 02 5d 00
					39 01 00 00 00 00 02 5e 14
					39 01 00 00 00 00 02 5f eb
					39 01 00 00 00 00 02 ff 24
					39 01 00 00 00 00 02 fb 01
					39 01 00 00 00 00 02 14 00
					39 01 00 00 00 00 02 15 10
					39 01 00 00 00 00 02 16 0a
					39 01 00 00 00 00 02 17 30
					39 01 00 00 00 00 02 ff 26
					39 01 00 00 00 00 02 fb 01
					39 01 00 00 00 00 02 60 00
					39 01 00 00 00 00 02 62 01
					39 01 00 00 00 00 02 40 00
					39 01 00 00 00 00 02 ff 28
					39 01 00 00 00 00 02 fb 01
					39 01 00 00 00 00 02 91 02
					39 01 00 00 00 00 02 ff e0
					39 01 00 00 00 00 02 fb 01
					39 01 00 00 00 00 02 48 81
					39 01 00 00 00 00 02 8e 09
					39 01 00 00 00 00 02 ff f0
					39 01 00 00 00 00 02 fb 01
					39 01 00 00 00 00 02 33 20
					39 01 00 00 00 00 02 34 35
					39 01 00 00 00 00 02 ff 10
					05 01 00 00 78 00 01 11
					05 01 00 00 78 00 01 29
				];
				qcom,mdss-dsi-on-command-state = "dsi_lp_mode";
				qcom,mdss-dsi-off-command = [
					15 01 00 00 00 00 02 ff 10
					15 01 00 00 00 00 02 bc 00
					05 01 00 00 10 00 01 28
					05 01 00 00 32 00 01 10
				];
				qcom,mdss-dsi-off-command-state = "dsi_lp_mode";

				qcom,compression-mode = "dsc";
				qcom,mdss-dsc-slice-height = <8>;
				qcom,mdss-dsc-slice-width = <540>;
				qcom,mdss-dsc-slice-per-pkt = <1>;
				qcom,mdss-dsc-bit-per-component = <8>;
				qcom,mdss-dsc-bit-per-pixel = <8>;
				qcom,mdss-dsc-block-prediction-enable;
			};
			timing@1 {
				qcom,mdss-dsi-panel-width = <540>;
				qcom,mdss-dsi-panel-height = <1920>;
				qcom,mdss-dsi-h-front-porch = <20>;
				qcom,mdss-dsi-h-back-porch = <12>;
				qcom,mdss-dsi-h-pulse-width = <8>;
				qcom,mdss-dsi-h-sync-skew = <0>;
				qcom,mdss-dsi-v-back-porch = <14>;
				qcom,mdss-dsi-v-front-porch = <16>;
				qcom,mdss-dsi-v-pulse-width = <2>;
				qcom,mdss-dsi-panel-framerate = <120>;
				qcom,mdss-dsi-panel-jitter = <0x3 0x1>;
				qcom,mdss-dsi-timing-switch-command = [
					39 01 00 00 00 00 02 ff 10
					39 01 00 00 00 00 02 fb 01
					39 01 00 00 00 00 02 c0 85
					39 01 00 00 00 00 11 c1 89 28 00 08 02
					00 02 0e 00 bb 00 07 0d b7 0c b7
					39 01 00 00 00 00 03 c2 10 f0
					39 01 00 00 00 00 02 ff 24
					39 01 00 00 00 00 02 fb 01
					39 01 00 00 00 00 02 16 00
					39 01 00 00 00 00 02 17 10
					39 01 00 00 00 00 02 ff 26
					39 01 00 00 00 00 02 fb 01
					39 01 00 00 00 00 02 60 00
					39 01 00 00 00 00 02 62 01
				];
				qcom,mdss-dsi-on-command = [
					39 01 00 00 00 00 02 ff d0
					39 01 00 00 00 00 02 75 40
					39 01 00 00 10 00 02 f1 40
					39 01 00 00 00 00 02 ff 10
					39 01 00 00 10 00 06 2c 01 02 04 08 10
					39 01 00 00 00 00 02 ff d0
					39 01 00 00 00 00 02 75 00
					39 01 00 00 10 00 02 f1 00
					/* Initial Setting */
					39 01 00 00 00 00 02 ff 10
					39 01 00 00 00 00 02 fb 01
					39 01 00 00 00 00 02 ba 03
					39 01 00 00 00 00 02 bc 08
					39 01 00 00 00 00 02 c0 85
					39 01 00 00 00 00 11 c1 89 28 00 08 02
					00 02 0e 00 bb 00 07 0d b7 0c b7
					39 01 00 00 00 00 03 c2 10 f0
					39 01 00 00 00 00 02 d5 00
					39 01 00 00 00 00 02 d6 00
					39 01 00 00 00 00 02 de 00
					39 01 00 00 00 00 02 e1 00
					39 01 00 00 00 00 02 e5 01
					39 01 00 00 00 00 02 bb 10
					39 01 00 00 00 00 02 f6 70
					39 01 00 00 00 00 02 f7 80
					39 01 00 00 00 00 02 35 00
					39 01 00 00 00 00 02 44 00
					39 01 00 00 00 00 02 ff 20
					39 01 00 00 00 00 02 fb 01
					39 01 00 00 00 00 02 87 02
					39 01 00 00 00 00 02 5d 00
					39 01 00 00 00 00 02 5e 14
					39 01 00 00 00 00 02 5f eb
					39 01 00 00 00 00 02 ff 24
					39 01 00 00 00 00 02 fb 01
					39 01 00 00 00 00 02 14 00
					39 01 00 00 00 00 02 15 10
					39 01 00 00 00 00 02 16 00
					39 01 00 00 00 00 02 17 10
					39 01 00 00 00 00 02 ff 26
					39 01 00 00 00 00 02 fb 01
					39 01 00 00 00 00 02 60 00
					39 01 00 00 00 00 02 62 01
					39 01 00 00 00 00 02 40 00
					39 01 00 00 00 00 02 ff 28
					39 01 00 00 00 00 02 fb 01
					39 01 00 00 00 00 02 91 02
					39 01 00 00 00 00 02 ff e0
					39 01 00 00 00 00 02 fb 01
					39 01 00 00 00 00 02 48 81
					39 01 00 00 00 00 02 8e 09
					39 01 00 00 00 00 02 ff f0
					39 01 00 00 00 00 02 fb 01
					39 01 00 00 00 00 02 33 20
					39 01 00 00 00 00 02 34 35
					39 01 00 00 00 00 02 ff 10
					05 01 00 00 78 00 01 11
					05 01 00 00 78 00 01 29
				];
				qcom,mdss-dsi-on-command-state = "dsi_lp_mode";
				qcom,mdss-dsi-off-command = [
					15 01 00 00 00 00 02 ff 10
					15 01 00 00 00 00 02 bc 00
					05 01 00 00 10 00 01 28
					05 01 00 00 32 00 01 10
				];
				qcom,mdss-dsi-off-command-state = "dsi_lp_mode";

				qcom,compression-mode = "dsc";
				qcom,mdss-dsc-slice-height = <8>;
				qcom,mdss-dsc-slice-width = <540>;
				qcom,mdss-dsc-slice-per-pkt = <1>;
				qcom,mdss-dsc-bit-per-component = <8>;
				qcom,mdss-dsc-bit-per-pixel = <8>;
				qcom,mdss-dsc-block-prediction-enable;
			};
		};
	};
};
+11 −0
Original line number Diff line number Diff line
@@ -258,6 +258,17 @@
	qcom,platform-te-gpio = <&tlmm 11 0>;
};

&dsi_sharp_qsync_wqhd_cmd {
	qcom,panel-supply-entries = <&dsi_panel_pwr_supply_no_labibb>;
	qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_external";
	qcom,mdss-dsi-bl-min-level = <1>;
	qcom,mdss-dsi-bl-max-level = <4095>;
	qcom,platform-te-gpio = <&tlmm 10 0>;
	qcom,platform-reset-gpio = <&pm6150l_gpios 9 0>;
	qcom,platform-en-gpio = <&pm6150l_gpios 4 0>;
	qcom,platform-bklight-en-gpio = <&pm6150l_gpios 5 0>;
};

&sde_dp {
	qcom,dp-aux-switch = <&fsa4480>;
};
+33 −1
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@
#include "dsi-panel-rm69299-visionox-amoled-fhd-plus-video.dtsi"
#include "dsi-panel-nt35695b-truly-fhd-video.dtsi"
#include "dsi-panel-nt35695b-truly-fhd-cmd.dtsi"
#include "dsi-panel-sharp-qsync-wqhd-cmd.dtsi"
#include <dt-bindings/clock/mdss-10nm-pll-clk.h>

&soc {
@@ -299,6 +300,17 @@
		qcom,dsi-panel = <&dsi_rm69299_visionox_amoled_video>;
	};

	dsi_sharp_qsync_wqhd_cmd_display: qcom,dsi-display@18 {
		label = "dsi_sharp_qsync_wqhd_cmd_display";
		qcom,display-type = "primary";

		qcom,dsi-ctrl-num = <0 1>;
		qcom,dsi-phy-num = <0 1>;
		qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0";

		qcom,dsi-panel = <&dsi_sharp_qsync_wqhd_cmd>;
	};

	sde_dsi: qcom,dsi-display {
		compatible = "qcom,dsi-display";

@@ -347,7 +359,8 @@
			&dsi_rm69298_truly_amoled_cmd_display
			&dsi_nt35695b_truly_fhd_video_display
			&dsi_nt35695b_truly_fhd_cmd_display
			&dsi_rm69299_visionox_amoled_vid_display>;
			&dsi_rm69299_visionox_amoled_vid_display
			&dsi_sharp_qsync_wqhd_cmd_display>;

	};

@@ -736,6 +749,25 @@
			qcom,mdss-dsi-panel-phy-timings = [00 20 08 08 24 23 08
				08 05 02 04 00];
			qcom,display-topology = <1 0 1>;
		};
	};
};

&dsi_sharp_qsync_wqhd_cmd {
	qcom,mdss-dsi-t-clk-post = <0x09>;
	qcom,mdss-dsi-t-clk-pre = <0x12>;
	qcom,mdss-dsi-display-timings {
		timing@0{
			qcom,mdss-dsi-panel-phy-timings = [00 0A 01 02 1B 1B 02
				02 00 02 04 00];
			qcom,display-topology = <2 2 2>;
			qcom,default-topology-index = <0>;
		};
		timing@1{
			qcom,mdss-dsi-panel-phy-timings = [00 0D 03 03 1D 1D 03
				03 01 02 04 00];
			qcom,mdss-mdp-transfer-time-us = <5800>;
			qcom,display-topology = <2 2 2>;
			qcom,default-topology-index = <0>;
		};
	};
+1 −0
Original line number Diff line number Diff line
@@ -85,6 +85,7 @@ msm_drm-$(CONFIG_DRM_MSM_MDP5) += mdp/mdp_format.o \

msm_drm-$(CONFIG_DRM_SDE_RSC) += sde_rsc.o \
	sde_rsc_hw.o \
	sde_rsc_hw_v3.o \

# use drm gpu driver only if qcom_kgsl driver not available
ifneq ($(CONFIG_QCOM_KGSL),y)
Loading