Loading Documentation/devicetree/bindings/fb/mdss-dsi-panel.txt +3 −0 Original line number Diff line number Diff line Loading @@ -450,6 +450,8 @@ Optional properites: slice. - qcom,mdss-dsc-config-by-manufacture-cmd: A boolean to indicates panel use manufacture command to setup pps instead of standard dcs type 0x0A. - qcom,adjust-timer-wakeup-ms: An integer value to indicate the timer delay(in ms) to accommodate s/w delay while configuring the event timer wakeup logic. Note, if a given optional qcom,* binding is not present, then the driver will configure the default values specified. Loading Loading @@ -591,6 +593,7 @@ Example: qcom,mdss-dsi-panel-orientation = "180" qcom,mdss-dsi-force-clock-lane-hs; qcom,compression-mode = "dsc"; qcom,adjust-timer-wakeup-ms = <1>; qcom,panel-supply-entries { #address-cells = <1>; #size-cells = <0>; Loading arch/arm/boot/dts/qcom/dsi-panel-nt35597-dsc-wqxga-cmd.dtsi +1 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ qcom,mdss-dsi-te-using-te-pin; qcom,ulps-enabled; qcom,adjust-timer-wakeup-ms = <1>; qcom,mdss-dsi-on-command = [15 01 00 00 0a 00 02 ff 10 15 01 00 00 0a 00 02 fb 01 15 01 00 00 0a 00 02 ba 03 Loading arch/arm/boot/dts/qcom/dsi-panel-nt35597-dualmipi-wqxga-cmd.dtsi +1 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ qcom,mdss-dsi-lane-3-state; qcom,mdss-dsi-panel-timings = [cd 32 22 00 60 64 26 34 29 03 04 00]; qcom,adjust-timer-wakeup-ms = <1>; qcom,mdss-dsi-reset-sequence = <1 10>, <0 10>, <1 10>; qcom,mdss-dsi-t-clk-post = <0x0d>; qcom,mdss-dsi-t-clk-pre = <0x2d>; Loading drivers/video/msm/mdss/mdss_dsi_panel.c +3 −0 Original line number Diff line number Diff line Loading @@ -2311,6 +2311,9 @@ static int mdss_panel_parse_dt(struct device_node *np, mdss_dsi_parse_dcs_cmds(np, &ctrl_pdata->off_cmds, "qcom,mdss-dsi-off-command", "qcom,mdss-dsi-off-command-state"); rc = of_property_read_u32(np, "qcom,adjust-timer-wakeup-ms", &tmp); pinfo->adjust_timer_delay_ms = (!rc ? tmp : 0); pinfo->mipi.force_clk_lane_hs = of_property_read_bool(np, "qcom,mdss-dsi-force-clock-lane-hs"); Loading drivers/video/msm/mdss/mdss_mdp_ctl.c +12 −1 Original line number Diff line number Diff line Loading @@ -4096,7 +4096,8 @@ int mdss_mdp_display_wakeup_time(struct mdss_mdp_ctl *ctl, struct mdss_panel_info *pinfo; u32 clk_rate, clk_period; u32 current_line, total_line; u32 time_of_line, time_to_vsync; u32 time_of_line, time_to_vsync, adjust_line_ns; ktime_t current_time = ktime_get(); if (!ctl->ops.read_line_cnt_fnc) Loading Loading @@ -4141,6 +4142,16 @@ int mdss_mdp_display_wakeup_time(struct mdss_mdp_ctl *ctl, return -EINVAL; time_to_vsync = time_of_line * (total_line - current_line); if (pinfo->adjust_timer_delay_ms) { adjust_line_ns = pinfo->adjust_timer_delay_ms * 1000000; /* convert to ns */ /* Ignore large values of adjust_line_ns\ */ if (time_to_vsync > adjust_line_ns) time_to_vsync -= adjust_line_ns; } if (!time_to_vsync) return -EINVAL; Loading Loading
Documentation/devicetree/bindings/fb/mdss-dsi-panel.txt +3 −0 Original line number Diff line number Diff line Loading @@ -450,6 +450,8 @@ Optional properites: slice. - qcom,mdss-dsc-config-by-manufacture-cmd: A boolean to indicates panel use manufacture command to setup pps instead of standard dcs type 0x0A. - qcom,adjust-timer-wakeup-ms: An integer value to indicate the timer delay(in ms) to accommodate s/w delay while configuring the event timer wakeup logic. Note, if a given optional qcom,* binding is not present, then the driver will configure the default values specified. Loading Loading @@ -591,6 +593,7 @@ Example: qcom,mdss-dsi-panel-orientation = "180" qcom,mdss-dsi-force-clock-lane-hs; qcom,compression-mode = "dsc"; qcom,adjust-timer-wakeup-ms = <1>; qcom,panel-supply-entries { #address-cells = <1>; #size-cells = <0>; Loading
arch/arm/boot/dts/qcom/dsi-panel-nt35597-dsc-wqxga-cmd.dtsi +1 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ qcom,mdss-dsi-te-using-te-pin; qcom,ulps-enabled; qcom,adjust-timer-wakeup-ms = <1>; qcom,mdss-dsi-on-command = [15 01 00 00 0a 00 02 ff 10 15 01 00 00 0a 00 02 fb 01 15 01 00 00 0a 00 02 ba 03 Loading
arch/arm/boot/dts/qcom/dsi-panel-nt35597-dualmipi-wqxga-cmd.dtsi +1 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ qcom,mdss-dsi-lane-3-state; qcom,mdss-dsi-panel-timings = [cd 32 22 00 60 64 26 34 29 03 04 00]; qcom,adjust-timer-wakeup-ms = <1>; qcom,mdss-dsi-reset-sequence = <1 10>, <0 10>, <1 10>; qcom,mdss-dsi-t-clk-post = <0x0d>; qcom,mdss-dsi-t-clk-pre = <0x2d>; Loading
drivers/video/msm/mdss/mdss_dsi_panel.c +3 −0 Original line number Diff line number Diff line Loading @@ -2311,6 +2311,9 @@ static int mdss_panel_parse_dt(struct device_node *np, mdss_dsi_parse_dcs_cmds(np, &ctrl_pdata->off_cmds, "qcom,mdss-dsi-off-command", "qcom,mdss-dsi-off-command-state"); rc = of_property_read_u32(np, "qcom,adjust-timer-wakeup-ms", &tmp); pinfo->adjust_timer_delay_ms = (!rc ? tmp : 0); pinfo->mipi.force_clk_lane_hs = of_property_read_bool(np, "qcom,mdss-dsi-force-clock-lane-hs"); Loading
drivers/video/msm/mdss/mdss_mdp_ctl.c +12 −1 Original line number Diff line number Diff line Loading @@ -4096,7 +4096,8 @@ int mdss_mdp_display_wakeup_time(struct mdss_mdp_ctl *ctl, struct mdss_panel_info *pinfo; u32 clk_rate, clk_period; u32 current_line, total_line; u32 time_of_line, time_to_vsync; u32 time_of_line, time_to_vsync, adjust_line_ns; ktime_t current_time = ktime_get(); if (!ctl->ops.read_line_cnt_fnc) Loading Loading @@ -4141,6 +4142,16 @@ int mdss_mdp_display_wakeup_time(struct mdss_mdp_ctl *ctl, return -EINVAL; time_to_vsync = time_of_line * (total_line - current_line); if (pinfo->adjust_timer_delay_ms) { adjust_line_ns = pinfo->adjust_timer_delay_ms * 1000000; /* convert to ns */ /* Ignore large values of adjust_line_ns\ */ if (time_to_vsync > adjust_line_ns) time_to_vsync -= adjust_line_ns; } if (!time_to_vsync) return -EINVAL; Loading