Loading Documentation/devicetree/bindings/fb/mdss-mdp.txt +43 −0 Original line number Diff line number Diff line Loading @@ -105,6 +105,39 @@ Required properties - "edp" - "hdmi" Bus Scaling Data: - qcom,msm-bus,name: String property describing MDSS client. - qcom,msm-bus,num-cases: This is the the number of Bus Scaling use cases defined in the vectors property. This must be set to <3> for MDSS driver where use-case 0 is used to take off MDSS BW votes from the system. And use-case 1 & 2 are used in ping-pong fashion to generate run-time BW requests. - qcom,msm-bus,active-only: A boolean flag indicating if it is active only. - qcom,msm-bus,num-paths: This represents the number of paths in each Bus Scaling Usecase. This value depends on how many number of AXI master ports are dedicated to MDSS for particular chipset. - qcom,msm-bus,vectors-KBps: * A series of 4 cell properties, with a format of (src, dst, ab, ib) which is defined at Documentation/devicetree/bindings/arm/msm/msm_bus.txt * Current values of src & dst are defined at arch/arm/mach-msm/msm_bus_board.h src values allowed for MDSS are: 22 = MSM_BUS_MASTER_MDP_PORT0 23 = MSM_BUS_MASTER_MDP_PORT1 dst values allowed for MDSS are: 512 = MSM_BUS_SLAVE_EBI_CH0 ab: Represents aggregated bandwidth. ib: Represents instantaneous bandwidth. * Total number of 4 cell properties will be (number of use-cases * number of paths). * These values will be overridden by the driver based on the run-time requirements. So initial ab and ib values defined here are random and bare no logic except for the use-case 0 where ab and ib values needs to be 0. Optional properties: - batfet-supply : Phandle for battery FET regulator device node. - qcom,vbif-settings : Array with key-value pairs of constant VBIF register Loading Loading @@ -177,6 +210,16 @@ Example: interrupts = <0 72 0>; vdd-supply = <&gdsc_mdss>; batfet-supply = <&pm8941_chg_batif>; /* Bus Scale Settings */ qcom,msm-bus,name = "mdss_mdp"; qcom,msm-bus,num-cases = <3>; qcom,msm-bus,num-paths = <2>; qcom,msm-bus,vectors-KBps = <22 512 0 0>, <23 512 0 0>, <22 512 0 6400000>, <23 512 0 6400000>, <22 512 0 6400000>, <23 512 0 6400000>; qcom,max-clk-rate = <320000000>; qcom,vbif-settings = <0x0004 0x00000001>, <0x00D8 0x00000707>; Loading arch/arm/boot/dts/apq8084-mdss.dtsi +9 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,15 @@ status = "disabled"; /* Bus Scale Settings */ qcom,msm-bus,name = "mdss_mdp"; qcom,msm-bus,num-cases = <3>; qcom,msm-bus,num-paths = <2>; qcom,msm-bus,vectors-KBps = <22 512 0 0>, <23 512 0 0>, <22 512 0 6400000>, <23 512 0 6400000>, <22 512 0 6400000>, <23 512 0 6400000>; qcom,max-clk-rate = <320000000>; qcom,mdss-pipe-vig-off = <0x00001200 0x00001600 Loading arch/arm/boot/dts/msm8226-mdss.dtsi +9 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,15 @@ interrupts = <0 72 0>; vdd-supply = <&gdsc_mdss>; /* Bus Scale Settings */ qcom,msm-bus,name = "mdss_mdp"; qcom,msm-bus,num-cases = <3>; qcom,msm-bus,num-paths = <1>; qcom,msm-bus,vectors-KBps = <22 512 0 0>, <22 512 0 6400000>, <22 512 0 6400000>; qcom,max-clk-rate = <200000000>; qcom,mdss-pipe-vig-off = <0x00001200>; qcom,mdss-pipe-rgb-off = <0x00001E00>; Loading arch/arm/boot/dts/msm8974-mdss.dtsi +9 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,15 @@ interrupts = <0 72 0>; vdd-supply = <&gdsc_mdss>; /* Bus Scale Settings */ qcom,msm-bus,name = "mdss_mdp"; qcom,msm-bus,num-cases = <3>; qcom,msm-bus,num-paths = <1>; qcom,msm-bus,vectors-KBps = <22 512 0 0>, <22 512 0 6400000>, <22 512 0 6400000>; qcom,max-clk-rate = <320000000>; qcom,mdss-pipe-vig-off = <0x00001200 0x00001600 0x00001A00>; Loading drivers/video/msm/mdss/mdss.h +5 −2 Original line number Diff line number Diff line Loading @@ -95,7 +95,6 @@ struct mdss_data_type { unsigned long min_mdp_clk; u32 res_init; u32 bus_hdl; u32 highest_bank_bit; u32 smp_mb_cnt; Loading @@ -104,6 +103,11 @@ struct mdss_data_type { u32 rot_block_size; u32 axi_port_cnt; u32 curr_bw_uc_idx; u32 bus_hdl; struct msm_bus_scale_pdata *bus_scale_table; struct mdss_hw_settings *hw_settings; struct mdss_mdp_pipe *vig_pipes; Loading Loading @@ -133,7 +137,6 @@ struct mdss_data_type { struct mdss_iommu_map_type *iommu_map; struct mdss_debug_inf debug_inf; int current_bus_idx; bool mixer_switched; struct mdss_panel_cfg pan_cfg; }; Loading Loading
Documentation/devicetree/bindings/fb/mdss-mdp.txt +43 −0 Original line number Diff line number Diff line Loading @@ -105,6 +105,39 @@ Required properties - "edp" - "hdmi" Bus Scaling Data: - qcom,msm-bus,name: String property describing MDSS client. - qcom,msm-bus,num-cases: This is the the number of Bus Scaling use cases defined in the vectors property. This must be set to <3> for MDSS driver where use-case 0 is used to take off MDSS BW votes from the system. And use-case 1 & 2 are used in ping-pong fashion to generate run-time BW requests. - qcom,msm-bus,active-only: A boolean flag indicating if it is active only. - qcom,msm-bus,num-paths: This represents the number of paths in each Bus Scaling Usecase. This value depends on how many number of AXI master ports are dedicated to MDSS for particular chipset. - qcom,msm-bus,vectors-KBps: * A series of 4 cell properties, with a format of (src, dst, ab, ib) which is defined at Documentation/devicetree/bindings/arm/msm/msm_bus.txt * Current values of src & dst are defined at arch/arm/mach-msm/msm_bus_board.h src values allowed for MDSS are: 22 = MSM_BUS_MASTER_MDP_PORT0 23 = MSM_BUS_MASTER_MDP_PORT1 dst values allowed for MDSS are: 512 = MSM_BUS_SLAVE_EBI_CH0 ab: Represents aggregated bandwidth. ib: Represents instantaneous bandwidth. * Total number of 4 cell properties will be (number of use-cases * number of paths). * These values will be overridden by the driver based on the run-time requirements. So initial ab and ib values defined here are random and bare no logic except for the use-case 0 where ab and ib values needs to be 0. Optional properties: - batfet-supply : Phandle for battery FET regulator device node. - qcom,vbif-settings : Array with key-value pairs of constant VBIF register Loading Loading @@ -177,6 +210,16 @@ Example: interrupts = <0 72 0>; vdd-supply = <&gdsc_mdss>; batfet-supply = <&pm8941_chg_batif>; /* Bus Scale Settings */ qcom,msm-bus,name = "mdss_mdp"; qcom,msm-bus,num-cases = <3>; qcom,msm-bus,num-paths = <2>; qcom,msm-bus,vectors-KBps = <22 512 0 0>, <23 512 0 0>, <22 512 0 6400000>, <23 512 0 6400000>, <22 512 0 6400000>, <23 512 0 6400000>; qcom,max-clk-rate = <320000000>; qcom,vbif-settings = <0x0004 0x00000001>, <0x00D8 0x00000707>; Loading
arch/arm/boot/dts/apq8084-mdss.dtsi +9 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,15 @@ status = "disabled"; /* Bus Scale Settings */ qcom,msm-bus,name = "mdss_mdp"; qcom,msm-bus,num-cases = <3>; qcom,msm-bus,num-paths = <2>; qcom,msm-bus,vectors-KBps = <22 512 0 0>, <23 512 0 0>, <22 512 0 6400000>, <23 512 0 6400000>, <22 512 0 6400000>, <23 512 0 6400000>; qcom,max-clk-rate = <320000000>; qcom,mdss-pipe-vig-off = <0x00001200 0x00001600 Loading
arch/arm/boot/dts/msm8226-mdss.dtsi +9 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,15 @@ interrupts = <0 72 0>; vdd-supply = <&gdsc_mdss>; /* Bus Scale Settings */ qcom,msm-bus,name = "mdss_mdp"; qcom,msm-bus,num-cases = <3>; qcom,msm-bus,num-paths = <1>; qcom,msm-bus,vectors-KBps = <22 512 0 0>, <22 512 0 6400000>, <22 512 0 6400000>; qcom,max-clk-rate = <200000000>; qcom,mdss-pipe-vig-off = <0x00001200>; qcom,mdss-pipe-rgb-off = <0x00001E00>; Loading
arch/arm/boot/dts/msm8974-mdss.dtsi +9 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,15 @@ interrupts = <0 72 0>; vdd-supply = <&gdsc_mdss>; /* Bus Scale Settings */ qcom,msm-bus,name = "mdss_mdp"; qcom,msm-bus,num-cases = <3>; qcom,msm-bus,num-paths = <1>; qcom,msm-bus,vectors-KBps = <22 512 0 0>, <22 512 0 6400000>, <22 512 0 6400000>; qcom,max-clk-rate = <320000000>; qcom,mdss-pipe-vig-off = <0x00001200 0x00001600 0x00001A00>; Loading
drivers/video/msm/mdss/mdss.h +5 −2 Original line number Diff line number Diff line Loading @@ -95,7 +95,6 @@ struct mdss_data_type { unsigned long min_mdp_clk; u32 res_init; u32 bus_hdl; u32 highest_bank_bit; u32 smp_mb_cnt; Loading @@ -104,6 +103,11 @@ struct mdss_data_type { u32 rot_block_size; u32 axi_port_cnt; u32 curr_bw_uc_idx; u32 bus_hdl; struct msm_bus_scale_pdata *bus_scale_table; struct mdss_hw_settings *hw_settings; struct mdss_mdp_pipe *vig_pipes; Loading Loading @@ -133,7 +137,6 @@ struct mdss_data_type { struct mdss_iommu_map_type *iommu_map; struct mdss_debug_inf debug_inf; int current_bus_idx; bool mixer_switched; struct mdss_panel_cfg pan_cfg; }; Loading