Loading arch/arm64/boot/dts/qcom/dsi-panel-td4328-1080p-cmd.dtsi +1 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,7 @@ qcom,mdss-dsi-v-front-porch = <5>; qcom,mdss-dsi-v-pulse-width = <2>; qcom,mdss-dsi-panel-framerate = <60>; qcom,mdss-dsi-panel-jitter = <0x4 0x1>; qcom,mdss-dsi-on-command = [ 29 01 00 00 00 00 02 B0 00 29 01 00 00 00 00 04 B3 00 00 06 Loading arch/arm64/boot/dts/qcom/sm6150-sde-display.dtsi +1 −0 Original line number Diff line number Diff line Loading @@ -307,6 +307,7 @@ 24 20 08 09 05 02 04 a0 24 1d 08 09 05 02 04 a0]; qcom,mdss-mdp-transfer-time-us = <14500>; qcom,display-topology = <1 0 1>; qcom,default-topology-index = <0>; qcom,partial-update-enabled = "single_roi"; Loading drivers/gpu/drm/msm/dsi-staging/dsi_ctrl.c +11 −2 Original line number Diff line number Diff line Loading @@ -40,6 +40,9 @@ #define TO_ON_OFF(x) ((x) ? "ON" : "OFF") #define CEIL(x, y) (((x) + ((y)-1)) / (y)) #define TICKS_IN_MICRO_SECOND 1000000 /** * enum dsi_ctrl_driver_ops - controller driver ops */ Loading Loading @@ -830,7 +833,7 @@ static int dsi_ctrl_update_link_freqs(struct dsi_ctrl *dsi_ctrl, { int rc = 0; u32 num_of_lanes = 0; u32 bpp; u32 bpp, refresh_rate = TICKS_IN_MICRO_SECOND; u64 h_period, v_period, bit_rate, pclk_rate, bit_rate_per_lane, byte_clk_rate; struct dsi_host_common_cfg *host_cfg = &config->common_config; Loading @@ -851,7 +854,13 @@ static int dsi_ctrl_update_link_freqs(struct dsi_ctrl *dsi_ctrl, if (config->bit_clk_rate_hz_override == 0) { h_period = DSI_H_TOTAL_DSC(timing); v_period = DSI_V_TOTAL(timing); bit_rate = h_period * v_period * timing->refresh_rate * bpp; if (config->panel_mode == DSI_OP_CMD_MODE) do_div(refresh_rate, timing->mdp_transfer_time_us); else refresh_rate = timing->refresh_rate; bit_rate = h_period * v_period * refresh_rate * bpp; } else { bit_rate = config->bit_clk_rate_hz_override * num_of_lanes; } Loading drivers/gpu/drm/msm/dsi-staging/dsi_panel.c +2 −0 Original line number Diff line number Diff line Loading @@ -3365,6 +3365,8 @@ int dsi_panel_get_host_cfg_for_mode(struct dsi_panel *panel, memcpy(&config->video_timing, &mode->timing, sizeof(config->video_timing)); config->video_timing.mdp_transfer_time_us = mode->priv_info->mdp_transfer_time_us; config->video_timing.dsc_enabled = mode->priv_info->dsc_enabled; config->video_timing.dsc = &mode->priv_info->dsc; Loading Loading
arch/arm64/boot/dts/qcom/dsi-panel-td4328-1080p-cmd.dtsi +1 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,7 @@ qcom,mdss-dsi-v-front-porch = <5>; qcom,mdss-dsi-v-pulse-width = <2>; qcom,mdss-dsi-panel-framerate = <60>; qcom,mdss-dsi-panel-jitter = <0x4 0x1>; qcom,mdss-dsi-on-command = [ 29 01 00 00 00 00 02 B0 00 29 01 00 00 00 00 04 B3 00 00 06 Loading
arch/arm64/boot/dts/qcom/sm6150-sde-display.dtsi +1 −0 Original line number Diff line number Diff line Loading @@ -307,6 +307,7 @@ 24 20 08 09 05 02 04 a0 24 1d 08 09 05 02 04 a0]; qcom,mdss-mdp-transfer-time-us = <14500>; qcom,display-topology = <1 0 1>; qcom,default-topology-index = <0>; qcom,partial-update-enabled = "single_roi"; Loading
drivers/gpu/drm/msm/dsi-staging/dsi_ctrl.c +11 −2 Original line number Diff line number Diff line Loading @@ -40,6 +40,9 @@ #define TO_ON_OFF(x) ((x) ? "ON" : "OFF") #define CEIL(x, y) (((x) + ((y)-1)) / (y)) #define TICKS_IN_MICRO_SECOND 1000000 /** * enum dsi_ctrl_driver_ops - controller driver ops */ Loading Loading @@ -830,7 +833,7 @@ static int dsi_ctrl_update_link_freqs(struct dsi_ctrl *dsi_ctrl, { int rc = 0; u32 num_of_lanes = 0; u32 bpp; u32 bpp, refresh_rate = TICKS_IN_MICRO_SECOND; u64 h_period, v_period, bit_rate, pclk_rate, bit_rate_per_lane, byte_clk_rate; struct dsi_host_common_cfg *host_cfg = &config->common_config; Loading @@ -851,7 +854,13 @@ static int dsi_ctrl_update_link_freqs(struct dsi_ctrl *dsi_ctrl, if (config->bit_clk_rate_hz_override == 0) { h_period = DSI_H_TOTAL_DSC(timing); v_period = DSI_V_TOTAL(timing); bit_rate = h_period * v_period * timing->refresh_rate * bpp; if (config->panel_mode == DSI_OP_CMD_MODE) do_div(refresh_rate, timing->mdp_transfer_time_us); else refresh_rate = timing->refresh_rate; bit_rate = h_period * v_period * refresh_rate * bpp; } else { bit_rate = config->bit_clk_rate_hz_override * num_of_lanes; } Loading
drivers/gpu/drm/msm/dsi-staging/dsi_panel.c +2 −0 Original line number Diff line number Diff line Loading @@ -3365,6 +3365,8 @@ int dsi_panel_get_host_cfg_for_mode(struct dsi_panel *panel, memcpy(&config->video_timing, &mode->timing, sizeof(config->video_timing)); config->video_timing.mdp_transfer_time_us = mode->priv_info->mdp_transfer_time_us; config->video_timing.dsc_enabled = mode->priv_info->dsc_enabled; config->video_timing.dsc = &mode->priv_info->dsc; Loading