Loading drivers/video/msm/mdss/mdss.h +1 −0 Original line number Diff line number Diff line Loading @@ -353,6 +353,7 @@ struct mdss_data_type { u32 enable_bw_release; u32 enable_rotator_bw_release; u32 serialize_wait4pp; u32 wait4autorefresh; u32 lines_before_active; struct mdss_hw_settings *hw_settings; Loading drivers/video/msm/mdss/mdss_mdp.h +8 −7 Original line number Diff line number Diff line Loading @@ -265,6 +265,8 @@ struct mdss_mdp_ctl_intfs_ops { */ int (*reconfigure)(struct mdss_mdp_ctl *ctl, enum dynamic_switch_modes mode, bool pre); /* called before do any register programming from commit thread */ void (*pre_programming)(struct mdss_mdp_ctl *ctl); }; struct mdss_mdp_ctl { Loading Loading @@ -355,9 +357,6 @@ struct mdss_mdp_ctl { struct mdss_rect roi; struct mdss_rect roi_bkup; bool cmd_autorefresh_en; int autorefresh_frame_cnt; struct blocking_notifier_head notifier_head; void *priv_data; Loading Loading @@ -1196,6 +1195,8 @@ struct mdss_data_type *mdss_mdp_get_mdata(void); int mdss_mdp_secure_display_ctrl(unsigned int enable); int mdss_mdp_overlay_init(struct msm_fb_data_type *mfd); int mdss_mdp_dfps_update_params(struct msm_fb_data_type *mfd, struct mdss_panel_data *pdata, int dfps); int mdss_mdp_layer_atomic_validate(struct msm_fb_data_type *mfd, struct file *file, struct mdp_layer_commit_v1 *ov_commit); int mdss_mdp_layer_pre_commit(struct msm_fb_data_type *mfd, Loading Loading @@ -1483,10 +1484,10 @@ void mdss_mdp_ctl_restore(bool locked); int mdss_mdp_ctl_reset(struct mdss_mdp_ctl *ctl, bool is_recovery); int mdss_mdp_wait_for_xin_halt(u32 xin_id, bool is_vbif_nrt); void mdss_mdp_set_ot_limit(struct mdss_mdp_set_ot_params *params); int mdss_mdp_cmd_set_autorefresh_mode(struct mdss_mdp_ctl *ctl, int frame_cnt); int mdss_mdp_ctl_cmd_autorefresh_enable(struct mdss_mdp_ctl *ctl, int frame_cnt); int mdss_mdp_cmd_set_autorefresh_mode(struct mdss_mdp_ctl *ctl, int frame_cnt); int mdss_mdp_cmd_get_autorefresh_mode(struct mdss_mdp_ctl *ctl); int mdss_mdp_ctl_cmd_set_autorefresh(struct mdss_mdp_ctl *ctl, int frame_cnt); int mdss_mdp_ctl_cmd_get_autorefresh(struct mdss_mdp_ctl *ctl); int mdss_mdp_pp_get_version(struct mdp_pp_feature_version *version); struct mdss_mdp_ctl *mdss_mdp_ctl_alloc(struct mdss_data_type *mdata, Loading drivers/video/msm/mdss/mdss_mdp_ctl.c +11 −2 Original line number Diff line number Diff line Loading @@ -2390,19 +2390,28 @@ int mdss_mdp_block_mixer_destroy(struct mdss_mdp_mixer *mixer) return 0; } int mdss_mdp_ctl_cmd_autorefresh_enable(struct mdss_mdp_ctl *ctl, int frame_cnt) int mdss_mdp_ctl_cmd_set_autorefresh(struct mdss_mdp_ctl *ctl, int frame_cnt) { int ret = 0; if (ctl->panel_data->panel_info.type == MIPI_CMD_PANEL) { ret = mdss_mdp_cmd_set_autorefresh_mode(ctl, frame_cnt); } else { pr_err("Mode not supported for this panel\n"); ret = -EINVAL; } return ret; } int mdss_mdp_ctl_cmd_get_autorefresh(struct mdss_mdp_ctl *ctl) { if (ctl->panel_data->panel_info.type == MIPI_CMD_PANEL) return mdss_mdp_cmd_get_autorefresh_mode(ctl); else return 0; } int mdss_mdp_ctl_splash_finish(struct mdss_mdp_ctl *ctl, bool handoff) { switch (ctl->panel_data->panel_info.type) { Loading drivers/video/msm/mdss/mdss_mdp_debug.c +5 −1 Original line number Diff line number Diff line /* * Copyright (c) 2014-2015, The Linux Foundation. All rights reserved. * Copyright (c) 2014-2016, 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 @@ -933,6 +933,8 @@ static struct debug_bus dbg_bus_8996[] = { { 0x348, 20, 0}, { 0x348, 20, 1}, { 0x348, 20, 3}, { 0x418, 60, 0}, }; static struct vbif_debug_bus vbif_dbg_bus_8996[] = { Loading Loading @@ -1420,6 +1422,8 @@ int mdss_mdp_debugfs_init(struct mdss_data_type *mdata) &mdss_debugfs_safe_stats_fops); debugfs_create_bool("serialize_wait4pp", 0644, mdd->root, (u32 *)&mdata->serialize_wait4pp); debugfs_create_bool("wait4autorefresh", 0644, mdd->root, (u32 *)&mdata->wait4autorefresh); debugfs_create_bool("enable_gate", 0644, mdd->root, (u32 *)&mdata->enable_gate); Loading Loading
drivers/video/msm/mdss/mdss.h +1 −0 Original line number Diff line number Diff line Loading @@ -353,6 +353,7 @@ struct mdss_data_type { u32 enable_bw_release; u32 enable_rotator_bw_release; u32 serialize_wait4pp; u32 wait4autorefresh; u32 lines_before_active; struct mdss_hw_settings *hw_settings; Loading
drivers/video/msm/mdss/mdss_mdp.h +8 −7 Original line number Diff line number Diff line Loading @@ -265,6 +265,8 @@ struct mdss_mdp_ctl_intfs_ops { */ int (*reconfigure)(struct mdss_mdp_ctl *ctl, enum dynamic_switch_modes mode, bool pre); /* called before do any register programming from commit thread */ void (*pre_programming)(struct mdss_mdp_ctl *ctl); }; struct mdss_mdp_ctl { Loading Loading @@ -355,9 +357,6 @@ struct mdss_mdp_ctl { struct mdss_rect roi; struct mdss_rect roi_bkup; bool cmd_autorefresh_en; int autorefresh_frame_cnt; struct blocking_notifier_head notifier_head; void *priv_data; Loading Loading @@ -1196,6 +1195,8 @@ struct mdss_data_type *mdss_mdp_get_mdata(void); int mdss_mdp_secure_display_ctrl(unsigned int enable); int mdss_mdp_overlay_init(struct msm_fb_data_type *mfd); int mdss_mdp_dfps_update_params(struct msm_fb_data_type *mfd, struct mdss_panel_data *pdata, int dfps); int mdss_mdp_layer_atomic_validate(struct msm_fb_data_type *mfd, struct file *file, struct mdp_layer_commit_v1 *ov_commit); int mdss_mdp_layer_pre_commit(struct msm_fb_data_type *mfd, Loading Loading @@ -1483,10 +1484,10 @@ void mdss_mdp_ctl_restore(bool locked); int mdss_mdp_ctl_reset(struct mdss_mdp_ctl *ctl, bool is_recovery); int mdss_mdp_wait_for_xin_halt(u32 xin_id, bool is_vbif_nrt); void mdss_mdp_set_ot_limit(struct mdss_mdp_set_ot_params *params); int mdss_mdp_cmd_set_autorefresh_mode(struct mdss_mdp_ctl *ctl, int frame_cnt); int mdss_mdp_ctl_cmd_autorefresh_enable(struct mdss_mdp_ctl *ctl, int frame_cnt); int mdss_mdp_cmd_set_autorefresh_mode(struct mdss_mdp_ctl *ctl, int frame_cnt); int mdss_mdp_cmd_get_autorefresh_mode(struct mdss_mdp_ctl *ctl); int mdss_mdp_ctl_cmd_set_autorefresh(struct mdss_mdp_ctl *ctl, int frame_cnt); int mdss_mdp_ctl_cmd_get_autorefresh(struct mdss_mdp_ctl *ctl); int mdss_mdp_pp_get_version(struct mdp_pp_feature_version *version); struct mdss_mdp_ctl *mdss_mdp_ctl_alloc(struct mdss_data_type *mdata, Loading
drivers/video/msm/mdss/mdss_mdp_ctl.c +11 −2 Original line number Diff line number Diff line Loading @@ -2390,19 +2390,28 @@ int mdss_mdp_block_mixer_destroy(struct mdss_mdp_mixer *mixer) return 0; } int mdss_mdp_ctl_cmd_autorefresh_enable(struct mdss_mdp_ctl *ctl, int frame_cnt) int mdss_mdp_ctl_cmd_set_autorefresh(struct mdss_mdp_ctl *ctl, int frame_cnt) { int ret = 0; if (ctl->panel_data->panel_info.type == MIPI_CMD_PANEL) { ret = mdss_mdp_cmd_set_autorefresh_mode(ctl, frame_cnt); } else { pr_err("Mode not supported for this panel\n"); ret = -EINVAL; } return ret; } int mdss_mdp_ctl_cmd_get_autorefresh(struct mdss_mdp_ctl *ctl) { if (ctl->panel_data->panel_info.type == MIPI_CMD_PANEL) return mdss_mdp_cmd_get_autorefresh_mode(ctl); else return 0; } int mdss_mdp_ctl_splash_finish(struct mdss_mdp_ctl *ctl, bool handoff) { switch (ctl->panel_data->panel_info.type) { Loading
drivers/video/msm/mdss/mdss_mdp_debug.c +5 −1 Original line number Diff line number Diff line /* * Copyright (c) 2014-2015, The Linux Foundation. All rights reserved. * Copyright (c) 2014-2016, 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 @@ -933,6 +933,8 @@ static struct debug_bus dbg_bus_8996[] = { { 0x348, 20, 0}, { 0x348, 20, 1}, { 0x348, 20, 3}, { 0x418, 60, 0}, }; static struct vbif_debug_bus vbif_dbg_bus_8996[] = { Loading Loading @@ -1420,6 +1422,8 @@ int mdss_mdp_debugfs_init(struct mdss_data_type *mdata) &mdss_debugfs_safe_stats_fops); debugfs_create_bool("serialize_wait4pp", 0644, mdd->root, (u32 *)&mdata->serialize_wait4pp); debugfs_create_bool("wait4autorefresh", 0644, mdd->root, (u32 *)&mdata->wait4autorefresh); debugfs_create_bool("enable_gate", 0644, mdd->root, (u32 *)&mdata->enable_gate); Loading