Loading Documentation/devicetree/bindings/fb/mdss-dsi-panel.txt +3 −0 Original line number Diff line number Diff line Loading @@ -384,6 +384,9 @@ the fps window. --> Sleep value (in ms) - qcom,partial-update-enabled: Boolean used to enable partial panel update for command mode panels. - qcom,partial-update-addr-offset: An array of two values indicate the panel column, row address offset value. Two default values are 0. - qcom,mdss-dsi-horizontal-line-idle: List of width ranges (EC - SC) in pixels indicating additional idle time in dsi clock cycles that is needed to compensate for smaller line width. Loading arch/arm64/boot/dts/qcom/sdm429-spyro-qrd-mdss-panels.dtsi +3 −0 Original line number Diff line number Diff line Loading @@ -89,6 +89,9 @@ /delete-property/ qcom,mdss-dsi-panel-timings; qcom,mdss-dsi-panel-timings-phy-12nm = [04 04 01 08 00 03 01 0D]; qcom,panel-supply-entries = <&dsi_pm660_panel_pwr_supply>; qcom,partial-update-enabled; qcom,partial-update-addr-offset = <0x10 0>; qcom,panel-roi-alignment = <2 2 4 2 20 2>; qcom,esd-check-enabled; qcom,mdss-dsi-panel-status-check-mode = "te_signal_check"; }; drivers/video/fbdev/msm/mdss_dsi_panel.c +16 −1 Original line number Diff line number Diff line /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. /* Copyright (c) 2012-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 Loading Loading @@ -662,6 +662,12 @@ static int mdss_dsi_set_col_page_addr(struct mdss_panel_data *pdata, return 0; } if (pinfo->partial_update_col_addr_offset) roi.x += pinfo->partial_update_col_addr_offset; if (pinfo->partial_update_row_addr_offset) roi.y += pinfo->partial_update_row_addr_offset; if (pinfo->dcs_cmd_by_left) { if (left_or_both && ctrl->ndx == DSI_CTRL_RIGHT) { /* 2A/2B sent by left already */ Loading Loading @@ -2099,6 +2105,7 @@ static void mdss_dsi_parse_esd_params(struct device_node *np, static int mdss_dsi_parse_panel_features(struct device_node *np, struct mdss_dsi_ctrl_pdata *ctrl) { u32 value[2]; struct mdss_panel_info *pinfo; if (!np || !ctrl) { Loading @@ -2116,6 +2123,14 @@ static int mdss_dsi_parse_panel_features(struct device_node *np, pinfo->partial_update_enabled); ctrl->set_col_page_addr = mdss_dsi_set_col_page_addr; if (pinfo->partial_update_enabled) { int rc = of_property_read_u32_array(np, "qcom,partial-update-addr-offset", value, 2); pinfo->partial_update_col_addr_offset = (!rc ? value[0] : 0); pinfo->partial_update_row_addr_offset = (!rc ? value[1] : 0); pinfo->partial_update_roi_merge = of_property_read_bool(np, "qcom,partial-update-roi-merge"); Loading drivers/video/fbdev/msm/mdss_panel.h +3 −1 Original line number Diff line number Diff line /* Copyright (c) 2008-2018, The Linux Foundation. All rights reserved. /* Copyright (c) 2008-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 Loading Loading @@ -690,6 +690,8 @@ struct mdss_panel_info { bool esd_rdy; bool partial_update_supported; /* value from dts if pu is supported */ bool partial_update_enabled; /* is pu currently allowed */ u32 partial_update_col_addr_offset; /* panel column addr offset */ u32 partial_update_row_addr_offset; /* panel row addr offset */ u32 dcs_cmd_by_left; u32 partial_update_roi_merge; struct ion_handle *splash_ihdl; Loading Loading
Documentation/devicetree/bindings/fb/mdss-dsi-panel.txt +3 −0 Original line number Diff line number Diff line Loading @@ -384,6 +384,9 @@ the fps window. --> Sleep value (in ms) - qcom,partial-update-enabled: Boolean used to enable partial panel update for command mode panels. - qcom,partial-update-addr-offset: An array of two values indicate the panel column, row address offset value. Two default values are 0. - qcom,mdss-dsi-horizontal-line-idle: List of width ranges (EC - SC) in pixels indicating additional idle time in dsi clock cycles that is needed to compensate for smaller line width. Loading
arch/arm64/boot/dts/qcom/sdm429-spyro-qrd-mdss-panels.dtsi +3 −0 Original line number Diff line number Diff line Loading @@ -89,6 +89,9 @@ /delete-property/ qcom,mdss-dsi-panel-timings; qcom,mdss-dsi-panel-timings-phy-12nm = [04 04 01 08 00 03 01 0D]; qcom,panel-supply-entries = <&dsi_pm660_panel_pwr_supply>; qcom,partial-update-enabled; qcom,partial-update-addr-offset = <0x10 0>; qcom,panel-roi-alignment = <2 2 4 2 20 2>; qcom,esd-check-enabled; qcom,mdss-dsi-panel-status-check-mode = "te_signal_check"; };
drivers/video/fbdev/msm/mdss_dsi_panel.c +16 −1 Original line number Diff line number Diff line /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. /* Copyright (c) 2012-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 Loading Loading @@ -662,6 +662,12 @@ static int mdss_dsi_set_col_page_addr(struct mdss_panel_data *pdata, return 0; } if (pinfo->partial_update_col_addr_offset) roi.x += pinfo->partial_update_col_addr_offset; if (pinfo->partial_update_row_addr_offset) roi.y += pinfo->partial_update_row_addr_offset; if (pinfo->dcs_cmd_by_left) { if (left_or_both && ctrl->ndx == DSI_CTRL_RIGHT) { /* 2A/2B sent by left already */ Loading Loading @@ -2099,6 +2105,7 @@ static void mdss_dsi_parse_esd_params(struct device_node *np, static int mdss_dsi_parse_panel_features(struct device_node *np, struct mdss_dsi_ctrl_pdata *ctrl) { u32 value[2]; struct mdss_panel_info *pinfo; if (!np || !ctrl) { Loading @@ -2116,6 +2123,14 @@ static int mdss_dsi_parse_panel_features(struct device_node *np, pinfo->partial_update_enabled); ctrl->set_col_page_addr = mdss_dsi_set_col_page_addr; if (pinfo->partial_update_enabled) { int rc = of_property_read_u32_array(np, "qcom,partial-update-addr-offset", value, 2); pinfo->partial_update_col_addr_offset = (!rc ? value[0] : 0); pinfo->partial_update_row_addr_offset = (!rc ? value[1] : 0); pinfo->partial_update_roi_merge = of_property_read_bool(np, "qcom,partial-update-roi-merge"); Loading
drivers/video/fbdev/msm/mdss_panel.h +3 −1 Original line number Diff line number Diff line /* Copyright (c) 2008-2018, The Linux Foundation. All rights reserved. /* Copyright (c) 2008-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 Loading Loading @@ -690,6 +690,8 @@ struct mdss_panel_info { bool esd_rdy; bool partial_update_supported; /* value from dts if pu is supported */ bool partial_update_enabled; /* is pu currently allowed */ u32 partial_update_col_addr_offset; /* panel column addr offset */ u32 partial_update_row_addr_offset; /* panel row addr offset */ u32 dcs_cmd_by_left; u32 partial_update_roi_merge; struct ion_handle *splash_ihdl; Loading