Merge "drm/msm/dsi-staging: update frame transfer time calculations"

This commit is contained in:
qctecmdr
2019-07-06 04:53:51 -07:00
committad av Gerrit - the friendly Code Review server
förälder e2944aac08 98ac941a1b
incheckning 21af73b82c
5 ändrade filer med 28 tillägg och 13 borttagningar

Visa fil

@@ -25,8 +25,6 @@
#define DSI_PANEL_DEFAULT_LABEL "Default dsi panel"
#define DEFAULT_MDP_TRANSFER_TIME 14000
#define DEFAULT_PANEL_JITTER_NUMERATOR 2
#define DEFAULT_PANEL_JITTER_DENOMINATOR 1
#define DEFAULT_PANEL_JITTER_ARRAY_SIZE 2
@@ -763,8 +761,7 @@ static int dsi_panel_parse_timing(struct dsi_mode_info *mode,
display_mode->priv_info->mdp_transfer_time_us =
mode->mdp_transfer_time_us;
else
display_mode->priv_info->mdp_transfer_time_us =
DEFAULT_MDP_TRANSFER_TIME;
display_mode->priv_info->mdp_transfer_time_us = 0;
rc = utils->read_u32(utils->data,
"qcom,mdss-dsi-panel-framerate",
@@ -3362,20 +3359,18 @@ void dsi_panel_put_mode(struct dsi_display_mode *mode)
}
void dsi_panel_calc_dsi_transfer_time(struct dsi_host_common_cfg *config,
struct dsi_mode_info *timing)
struct dsi_display_mode *mode, u32 frame_threshold_us)
{
u32 frame_time_us,nslices;
u64 min_bitclk, total_active_pixels, bits_per_line;
struct msm_display_dsc_info *dsc = timing->dsc;
struct msm_display_dsc_info *dsc = mode->timing.dsc;
struct dsi_mode_info *timing = &mode->timing;
/* Packet overlead in bits,2 bytes header + 2 bytes checksum
* + 1 byte dcs data command.
*/
const u32 packet_overhead = 56;
/* Default time between pingpong done to TE in microsecs */
const u32 max_tx_threshold_time = 2166;
frame_time_us = mult_frac(1000, 1000, (timing->refresh_rate));
if (timing->dsc_enabled) {
@@ -3403,9 +3398,12 @@ void dsi_panel_calc_dsi_transfer_time(struct dsi_host_common_cfg *config,
/* adjust the transfer time proportionately for bit clk*/
timing->dsi_transfer_time_us = mult_frac(frame_time_us,
min_bitclk, timing->clk_rate_hz);
} else if (mode->priv_info->mdp_transfer_time_us) {
timing->dsi_transfer_time_us =
mode->priv_info->mdp_transfer_time_us;
} else {
timing->dsi_transfer_time_us = frame_time_us -
max_tx_threshold_time;
frame_threshold_us;
}
}