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

Commit f9121b8a authored by Padmanabhan Komanduru's avatar Padmanabhan Komanduru
Browse files

msm: mdss: Add support for multiple WFD writeback modes



Different versions of MDSS hardware have different WFD
blocks such as
1.) Writeback WFD block connected to interface mixer.
2.) Writeback block shared between WFD and rotator.
3.) Dedicated WFD block using the writeback mixer.
We need separate handling for each of these wfd writeback
modes. Add support to take care of this.
Make the necessary changes in the MDSS DT files to support
this for different MDP revisions.

Change-Id: Ib95699bd1d8f720f4f044608850eeed60455d6ed
Signed-off-by: default avatarPadmanabhan Komanduru <pkomandu@codeaurora.org>
parent b1e3ab63
Loading
Loading
Loading
Loading
+9 −4
Original line number Original line Diff line number Diff line
@@ -245,9 +245,14 @@ Optional properties:
				AD offset).
				AD offset).
- qcom,mdss-has-wb-ad: Boolean property to indicate assertive display feature
- qcom,mdss-has-wb-ad: Boolean property to indicate assertive display feature
				support on write back framebuffer.
				support on write back framebuffer.
- qcom,mdss-has-wfd-blk: Boolean property to indicate the presence of dedicated
- qcom,mdss-mdp-wfd-mode:	A string that specifies what is the mode of
			writeback wfd block in MDSS as opposed to writeback
				   writeback wfd block.
			block that is shared between rotator and wfd.
				"intf" = Writeback wfd block is
				   connected to the interface mixer.
				"shared" = Writeback block shared
				   between wfd and rotator.
				"dedicated" = Dedicated writeback
				   block for wfd using writeback mixer.
- qcom,mdss-smp-mb-per-pipe:	Maximum number of shared memory pool blocks
- qcom,mdss-smp-mb-per-pipe:	Maximum number of shared memory pool blocks
				restricted for a source surface pipe. If this
				restricted for a source surface pipe. If this
				property is not specified, no such restriction
				property is not specified, no such restriction
@@ -406,7 +411,7 @@ Example:
		qcom,mdss-pref-prim-intf = "dsi";
		qcom,mdss-pref-prim-intf = "dsi";
		qcom,mdss-has-bwc;
		qcom,mdss-has-bwc;
		qcom,mdss-has-decimation;
		qcom,mdss-has-decimation;
		qcom,mdss-has-wfd-blk;
		qcom,mdss-wfd-mode = "intf";


		qcom,mdss-pipe-vig-xin-id = <0 4 8>;
		qcom,mdss-pipe-vig-xin-id = <0 4 8>;
		qcom,mdss-pipe-rgb-xin-id = <1 5 9>;
		qcom,mdss-pipe-rgb-xin-id = <1 5 9>;
+1 −1
Original line number Original line Diff line number Diff line
@@ -93,7 +93,7 @@


		qcom,mdss-has-bwc;
		qcom,mdss-has-bwc;
		qcom,mdss-has-decimation;
		qcom,mdss-has-decimation;
		qcom,mdss-has-wfd-blk;
		qcom,mdss-wfd-mode = "intf";


		qcom,vbif-settings = <0x0B0 0x00080808>,
		qcom,vbif-settings = <0x0B0 0x00080808>,
				     <0x0B4 0x08000808>,
				     <0x0B4 0x08000808>,
+1 −0
Original line number Original line Diff line number Diff line
@@ -68,6 +68,7 @@
		qcom,mdss-intf-off = <0x00000000 0x00021300>;
		qcom,mdss-intf-off = <0x00000000 0x00021300>;
		qcom,mdss-rot-block-size = <64>;
		qcom,mdss-rot-block-size = <64>;
		qcom,mdss-rotator-ot-limit = <2>;
		qcom,mdss-rotator-ot-limit = <2>;
		qcom,mdss-wfd-mode = "shared";
		qcom,mdss-smp-mb-per-pipe = <3>;
		qcom,mdss-smp-mb-per-pipe = <3>;
		vdd-cx-supply = <&pm8226_s1_corner>;
		vdd-cx-supply = <&pm8226_s1_corner>;


+1 −1
Original line number Original line Diff line number Diff line
@@ -72,7 +72,7 @@
		qcom,mdss-intf-off = <0x00021100 0x00021300
		qcom,mdss-intf-off = <0x00021100 0x00021300
					   0x00021500 0x00021700>;
					   0x00021500 0x00021700>;


		qcom,mdss-has-wfd-blk;
		qcom,mdss-wfd-mode = "intf";
		qcom,vbif-settings = <0x0004 0x00000001>,
		qcom,vbif-settings = <0x0004 0x00000001>,
				     <0x00D8 0x00000707>,
				     <0x00D8 0x00000707>,
				     <0x00F0 0x00000030>,
				     <0x00F0 0x00000030>,
+1 −1
Original line number Original line Diff line number Diff line
@@ -114,7 +114,7 @@ struct mdss_data_type {
	u32 irq_buzy;
	u32 irq_buzy;
	u32 has_bwc;
	u32 has_bwc;
	u32 has_decimation;
	u32 has_decimation;
	u8 has_wfd_blk;
	u32 wfd_mode;
	u8 has_wb_ad;
	u8 has_wb_ad;


	u32 rotator_ot_limit;
	u32 rotator_ot_limit;
Loading