Loading drivers/video/msm/mdss/mdss_mdp_pp.c +15 −37 Original line number Diff line number Diff line Loading @@ -1819,6 +1819,7 @@ int mdss_mdp_pipe_sspp_setup(struct mdss_mdp_pipe *pipe, u32 *op) struct mdss_data_type *mdata = mdss_mdp_get_mdata(); u32 current_opmode, location; u32 dcm_state = DCM_UNINIT; struct mdss_mdp_pipe *pipe_list; if (pipe == NULL) return -EINVAL; Loading @@ -1842,53 +1843,19 @@ int mdss_mdp_pipe_sspp_setup(struct mdss_mdp_pipe *pipe, u32 *op) case MDSS_MDP_PIPE_TYPE_VIG: pipe_base = mdata->mdp_base + MDSS_MDP_REG_IGC_VIG_BASE; pipe_cnt = mdata->nvig_pipes; pipe_list = mdata->vig_pipes; location = SSPP_VIG; switch (pipe->num) { case MDSS_MDP_SSPP_VIG0: pipe_num = 0; break; case MDSS_MDP_SSPP_VIG1: pipe_num = 1; break; case MDSS_MDP_SSPP_VIG2: pipe_num = 2; break; case MDSS_MDP_SSPP_VIG3: pipe_num = 3; break; default: pr_err("Invalid pipe num %d pipe type %d\n", pipe->num, pipe->type); return -EINVAL; } break; case MDSS_MDP_PIPE_TYPE_RGB: pipe_base = mdata->mdp_base + MDSS_MDP_REG_IGC_RGB_BASE; pipe_cnt = mdata->nrgb_pipes; pipe_list = mdata->rgb_pipes; location = SSPP_RGB; switch (pipe->num) { case MDSS_MDP_SSPP_RGB0: pipe_num = 0; break; case MDSS_MDP_SSPP_RGB1: pipe_num = 1; break; case MDSS_MDP_SSPP_RGB2: pipe_num = 2; break; case MDSS_MDP_SSPP_RGB3: pipe_num = 3; break; default: pr_err("Invalid pipe num %d pipe type %d\n", pipe->num, pipe->type); return -EINVAL; } break; case MDSS_MDP_PIPE_TYPE_DMA: pipe_base = mdata->mdp_base + MDSS_MDP_REG_IGC_DMA_BASE; pipe_num = pipe->num - MDSS_MDP_SSPP_DMA0; pipe_cnt = mdata->ndma_pipes; pipe_list = mdata->dma_pipes; location = SSPP_DMA; break; case MDSS_MDP_PIPE_TYPE_CURSOR: Loading @@ -1899,6 +1866,17 @@ int mdss_mdp_pipe_sspp_setup(struct mdss_mdp_pipe *pipe, u32 *op) return -EINVAL; } for (pipe_num = 0; pipe_num < pipe_cnt; pipe_num++) { if (pipe == (pipe_list + pipe_num)) break; } if (pipe_num == pipe_cnt) { pr_err("Invalid pipe num %d pipe type %d\n", pipe->num, pipe->type); return -EINVAL; } if (pipe->pp_cfg.config_ops & MDP_OVERLAY_PP_IGC_CFG) { flags |= PP_FLAGS_DIRTY_IGC; if (!pp_ops[IGC].pp_set_config) { Loading Loading
drivers/video/msm/mdss/mdss_mdp_pp.c +15 −37 Original line number Diff line number Diff line Loading @@ -1819,6 +1819,7 @@ int mdss_mdp_pipe_sspp_setup(struct mdss_mdp_pipe *pipe, u32 *op) struct mdss_data_type *mdata = mdss_mdp_get_mdata(); u32 current_opmode, location; u32 dcm_state = DCM_UNINIT; struct mdss_mdp_pipe *pipe_list; if (pipe == NULL) return -EINVAL; Loading @@ -1842,53 +1843,19 @@ int mdss_mdp_pipe_sspp_setup(struct mdss_mdp_pipe *pipe, u32 *op) case MDSS_MDP_PIPE_TYPE_VIG: pipe_base = mdata->mdp_base + MDSS_MDP_REG_IGC_VIG_BASE; pipe_cnt = mdata->nvig_pipes; pipe_list = mdata->vig_pipes; location = SSPP_VIG; switch (pipe->num) { case MDSS_MDP_SSPP_VIG0: pipe_num = 0; break; case MDSS_MDP_SSPP_VIG1: pipe_num = 1; break; case MDSS_MDP_SSPP_VIG2: pipe_num = 2; break; case MDSS_MDP_SSPP_VIG3: pipe_num = 3; break; default: pr_err("Invalid pipe num %d pipe type %d\n", pipe->num, pipe->type); return -EINVAL; } break; case MDSS_MDP_PIPE_TYPE_RGB: pipe_base = mdata->mdp_base + MDSS_MDP_REG_IGC_RGB_BASE; pipe_cnt = mdata->nrgb_pipes; pipe_list = mdata->rgb_pipes; location = SSPP_RGB; switch (pipe->num) { case MDSS_MDP_SSPP_RGB0: pipe_num = 0; break; case MDSS_MDP_SSPP_RGB1: pipe_num = 1; break; case MDSS_MDP_SSPP_RGB2: pipe_num = 2; break; case MDSS_MDP_SSPP_RGB3: pipe_num = 3; break; default: pr_err("Invalid pipe num %d pipe type %d\n", pipe->num, pipe->type); return -EINVAL; } break; case MDSS_MDP_PIPE_TYPE_DMA: pipe_base = mdata->mdp_base + MDSS_MDP_REG_IGC_DMA_BASE; pipe_num = pipe->num - MDSS_MDP_SSPP_DMA0; pipe_cnt = mdata->ndma_pipes; pipe_list = mdata->dma_pipes; location = SSPP_DMA; break; case MDSS_MDP_PIPE_TYPE_CURSOR: Loading @@ -1899,6 +1866,17 @@ int mdss_mdp_pipe_sspp_setup(struct mdss_mdp_pipe *pipe, u32 *op) return -EINVAL; } for (pipe_num = 0; pipe_num < pipe_cnt; pipe_num++) { if (pipe == (pipe_list + pipe_num)) break; } if (pipe_num == pipe_cnt) { pr_err("Invalid pipe num %d pipe type %d\n", pipe->num, pipe->type); return -EINVAL; } if (pipe->pp_cfg.config_ops & MDP_OVERLAY_PP_IGC_CFG) { flags |= PP_FLAGS_DIRTY_IGC; if (!pp_ops[IGC].pp_set_config) { Loading