Loading drivers/video/msm/mdss/mdss_mdp.c +35 −0 Original line number Diff line number Diff line Loading @@ -1571,6 +1571,37 @@ static int mdss_mdp_get_cmdline_config(struct platform_device *pdev) return rc; } static void __update_sspp_info(struct mdss_mdp_pipe *pipe, int pipe_cnt, char *type, char *buf, int *cnt) { int i; size_t len = PAGE_SIZE; #define SPRINT(fmt, ...) \ (*cnt += scnprintf(buf + *cnt, len - *cnt, fmt, ##__VA_ARGS__)) for (i = 0; i < pipe_cnt; i++) { SPRINT("pipe_num:%d pipe_type:%s pipe_ndx:%d pipe_is_handoff:%d display_id:%d\n", pipe->num, type, pipe->ndx, pipe->is_handed_off, mdss_mdp_get_display_id(pipe)); pipe++; } #undef SPRINT } static void mdss_mdp_update_sspp_info(struct mdss_data_type *mdata, char *buf, int *cnt) { __update_sspp_info(mdata->vig_pipes, mdata->nvig_pipes, "vig", buf, cnt); __update_sspp_info(mdata->rgb_pipes, mdata->nrgb_pipes, "rgb", buf, cnt); __update_sspp_info(mdata->dma_pipes, mdata->ndma_pipes, "dma", buf, cnt); __update_sspp_info(mdata->cursor_pipes, mdata->ncursor_pipes, "cursor", buf, cnt); } static ssize_t mdss_mdp_show_capabilities(struct device *dev, struct device_attribute *attr, char *buf) { Loading @@ -1587,6 +1618,9 @@ static ssize_t mdss_mdp_show_capabilities(struct device *dev, SPRINT("mdp_version=5\n"); SPRINT("hw_rev=%d\n", mdata->mdp_rev); SPRINT("pipe_count:%d\n", mdata->nvig_pipes + mdata->nrgb_pipes + mdata->ndma_pipes + mdata->ncursor_pipes); mdss_mdp_update_sspp_info(mdata, buf, &cnt); SPRINT("rgb_pipes=%d\n", mdata->nrgb_pipes); SPRINT("vig_pipes=%d\n", mdata->nvig_pipes); SPRINT("dma_pipes=%d\n", mdata->ndma_pipes); Loading Loading @@ -1647,6 +1681,7 @@ static ssize_t mdss_mdp_show_capabilities(struct device *dev, if (mdata->max_bw_settings_cnt) SPRINT(" dynamic_bw_limit"); SPRINT("\n"); #undef SPRINT return cnt; } Loading drivers/video/msm/mdss/mdss_mdp.h +5 −0 Original line number Diff line number Diff line Loading @@ -1152,6 +1152,11 @@ static inline bool mdss_mdp_is_lm_swap_needed(struct mdss_data_type *mdata, (mctl->mixer_right->valid_roi); } static inline int mdss_mdp_get_display_id(struct mdss_mdp_pipe *pipe) { return (pipe && pipe->mfd) ? pipe->mfd->index : -1; } irqreturn_t mdss_mdp_isr(int irq, void *ptr); void mdss_mdp_irq_clear(struct mdss_data_type *mdata, u32 intr_type, u32 intf_num); Loading Loading
drivers/video/msm/mdss/mdss_mdp.c +35 −0 Original line number Diff line number Diff line Loading @@ -1571,6 +1571,37 @@ static int mdss_mdp_get_cmdline_config(struct platform_device *pdev) return rc; } static void __update_sspp_info(struct mdss_mdp_pipe *pipe, int pipe_cnt, char *type, char *buf, int *cnt) { int i; size_t len = PAGE_SIZE; #define SPRINT(fmt, ...) \ (*cnt += scnprintf(buf + *cnt, len - *cnt, fmt, ##__VA_ARGS__)) for (i = 0; i < pipe_cnt; i++) { SPRINT("pipe_num:%d pipe_type:%s pipe_ndx:%d pipe_is_handoff:%d display_id:%d\n", pipe->num, type, pipe->ndx, pipe->is_handed_off, mdss_mdp_get_display_id(pipe)); pipe++; } #undef SPRINT } static void mdss_mdp_update_sspp_info(struct mdss_data_type *mdata, char *buf, int *cnt) { __update_sspp_info(mdata->vig_pipes, mdata->nvig_pipes, "vig", buf, cnt); __update_sspp_info(mdata->rgb_pipes, mdata->nrgb_pipes, "rgb", buf, cnt); __update_sspp_info(mdata->dma_pipes, mdata->ndma_pipes, "dma", buf, cnt); __update_sspp_info(mdata->cursor_pipes, mdata->ncursor_pipes, "cursor", buf, cnt); } static ssize_t mdss_mdp_show_capabilities(struct device *dev, struct device_attribute *attr, char *buf) { Loading @@ -1587,6 +1618,9 @@ static ssize_t mdss_mdp_show_capabilities(struct device *dev, SPRINT("mdp_version=5\n"); SPRINT("hw_rev=%d\n", mdata->mdp_rev); SPRINT("pipe_count:%d\n", mdata->nvig_pipes + mdata->nrgb_pipes + mdata->ndma_pipes + mdata->ncursor_pipes); mdss_mdp_update_sspp_info(mdata, buf, &cnt); SPRINT("rgb_pipes=%d\n", mdata->nrgb_pipes); SPRINT("vig_pipes=%d\n", mdata->nvig_pipes); SPRINT("dma_pipes=%d\n", mdata->ndma_pipes); Loading Loading @@ -1647,6 +1681,7 @@ static ssize_t mdss_mdp_show_capabilities(struct device *dev, if (mdata->max_bw_settings_cnt) SPRINT(" dynamic_bw_limit"); SPRINT("\n"); #undef SPRINT return cnt; } Loading
drivers/video/msm/mdss/mdss_mdp.h +5 −0 Original line number Diff line number Diff line Loading @@ -1152,6 +1152,11 @@ static inline bool mdss_mdp_is_lm_swap_needed(struct mdss_data_type *mdata, (mctl->mixer_right->valid_roi); } static inline int mdss_mdp_get_display_id(struct mdss_mdp_pipe *pipe) { return (pipe && pipe->mfd) ? pipe->mfd->index : -1; } irqreturn_t mdss_mdp_isr(int irq, void *ptr); void mdss_mdp_irq_clear(struct mdss_data_type *mdata, u32 intr_type, u32 intf_num); Loading