Loading drivers/video/msm/mdss/mdss_mdp_ctl.c +0 −6 Original line number Diff line number Diff line Loading @@ -3174,17 +3174,11 @@ int mdss_mdp_display_commit(struct mdss_mdp_ctl *ctl, void *arg, mdss_mdp_ctl_write(ctl, MDSS_MDP_REG_CTL_TOP, ctl->opmode); ctl->flush_bits |= BIT(17); /* CTL */ if (!ctl->play_cnt) ctl->flush_bits |= BIT(31) >> (ctl->intf_num - MDSS_MDP_INTF0); if (sctl) { mdss_mdp_ctl_write(sctl, MDSS_MDP_REG_CTL_TOP, sctl->opmode); sctl->flush_bits |= BIT(17); if (!ctl->play_cnt) sctl->flush_bits |= BIT(31) >> (sctl->intf_num - MDSS_MDP_INTF0); } ATRACE_END("mixer_programming"); } Loading drivers/video/msm/mdss/mdss_mdp_intf_video.c +13 −0 Original line number Diff line number Diff line Loading @@ -126,6 +126,8 @@ static int mdss_mdp_video_timegen_setup(struct mdss_mdp_ctl *ctl, u32 den_polarity, hsync_polarity, vsync_polarity; u32 display_hctl, active_hctl, hsync_ctl, polarity_ctl; struct mdss_mdp_video_ctx *ctx; struct mdss_mdp_ctl *sctl = NULL; u32 flush_bits; ctx = ctl->priv_data; hsync_period = p->hsync_pulse_width + p->h_back_porch + Loading @@ -143,6 +145,16 @@ static int mdss_mdp_video_timegen_setup(struct mdss_mdp_ctl *ctl, display_v_end -= p->h_front_porch; } sctl = mdss_mdp_get_split_ctl(ctl); flush_bits = mdss_mdp_ctl_read(ctl, MDSS_MDP_REG_CTL_FLUSH); flush_bits |= BIT(31) >> (ctl->intf_num - MDSS_MDP_INTF0); if (sctl) flush_bits |= BIT(31) >> (sctl->intf_num - MDSS_MDP_INTF0); hsync_start_x = p->h_back_porch + p->hsync_pulse_width; hsync_end_x = hsync_period - p->h_front_porch - 1; Loading Loading @@ -208,6 +220,7 @@ static int mdss_mdp_video_timegen_setup(struct mdss_mdp_ctl *ctl, mdp_video_write(ctx, MDSS_MDP_REG_INTF_HSYNC_SKEW, p->hsync_skew); mdp_video_write(ctx, MDSS_MDP_REG_INTF_POLARITY_CTL, polarity_ctl); mdp_video_write(ctx, MDSS_MDP_REG_INTF_FRAME_LINE_COUNT_EN, 0x3); mdss_mdp_ctl_write(ctl, MDSS_MDP_REG_CTL_FLUSH, flush_bits); return 0; } Loading Loading
drivers/video/msm/mdss/mdss_mdp_ctl.c +0 −6 Original line number Diff line number Diff line Loading @@ -3174,17 +3174,11 @@ int mdss_mdp_display_commit(struct mdss_mdp_ctl *ctl, void *arg, mdss_mdp_ctl_write(ctl, MDSS_MDP_REG_CTL_TOP, ctl->opmode); ctl->flush_bits |= BIT(17); /* CTL */ if (!ctl->play_cnt) ctl->flush_bits |= BIT(31) >> (ctl->intf_num - MDSS_MDP_INTF0); if (sctl) { mdss_mdp_ctl_write(sctl, MDSS_MDP_REG_CTL_TOP, sctl->opmode); sctl->flush_bits |= BIT(17); if (!ctl->play_cnt) sctl->flush_bits |= BIT(31) >> (sctl->intf_num - MDSS_MDP_INTF0); } ATRACE_END("mixer_programming"); } Loading
drivers/video/msm/mdss/mdss_mdp_intf_video.c +13 −0 Original line number Diff line number Diff line Loading @@ -126,6 +126,8 @@ static int mdss_mdp_video_timegen_setup(struct mdss_mdp_ctl *ctl, u32 den_polarity, hsync_polarity, vsync_polarity; u32 display_hctl, active_hctl, hsync_ctl, polarity_ctl; struct mdss_mdp_video_ctx *ctx; struct mdss_mdp_ctl *sctl = NULL; u32 flush_bits; ctx = ctl->priv_data; hsync_period = p->hsync_pulse_width + p->h_back_porch + Loading @@ -143,6 +145,16 @@ static int mdss_mdp_video_timegen_setup(struct mdss_mdp_ctl *ctl, display_v_end -= p->h_front_porch; } sctl = mdss_mdp_get_split_ctl(ctl); flush_bits = mdss_mdp_ctl_read(ctl, MDSS_MDP_REG_CTL_FLUSH); flush_bits |= BIT(31) >> (ctl->intf_num - MDSS_MDP_INTF0); if (sctl) flush_bits |= BIT(31) >> (sctl->intf_num - MDSS_MDP_INTF0); hsync_start_x = p->h_back_porch + p->hsync_pulse_width; hsync_end_x = hsync_period - p->h_front_porch - 1; Loading Loading @@ -208,6 +220,7 @@ static int mdss_mdp_video_timegen_setup(struct mdss_mdp_ctl *ctl, mdp_video_write(ctx, MDSS_MDP_REG_INTF_HSYNC_SKEW, p->hsync_skew); mdp_video_write(ctx, MDSS_MDP_REG_INTF_POLARITY_CTL, polarity_ctl); mdp_video_write(ctx, MDSS_MDP_REG_INTF_FRAME_LINE_COUNT_EN, 0x3); mdss_mdp_ctl_write(ctl, MDSS_MDP_REG_CTL_FLUSH, flush_bits); return 0; } Loading