From d36adec65e3e2ed74883280dfc8dd6f2b123971b Mon Sep 17 00:00:00 2001 From: Terence Hampson Date: Fri, 12 Jun 2015 14:01:27 -0400 Subject: [PATCH] mdss: mdp: extract if mdp has ubwc from hw rev User space needs a way to identify if mdp has UBWC Change-Id: I5fec34976473ea80c09684d51b14d5588fab09eb Signed-off-by: Terence Hampson --- drivers/video/fbdev/msm/mdss.h | 1 + drivers/video/fbdev/msm/mdss_mdp.c | 3 +++ drivers/video/fbdev/msm/mdss_mdp.h | 4 ++-- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/video/fbdev/msm/mdss.h b/drivers/video/fbdev/msm/mdss.h index f815a9b40f32..19c0d34b3228 100644 --- a/drivers/video/fbdev/msm/mdss.h +++ b/drivers/video/fbdev/msm/mdss.h @@ -268,6 +268,7 @@ struct mdss_data_type { bool has_pingpong_split; bool has_pixel_ram; bool needs_hist_vote; + bool has_ubwc; u32 default_ot_rd_limit; u32 default_ot_wr_limit; diff --git a/drivers/video/fbdev/msm/mdss_mdp.c b/drivers/video/fbdev/msm/mdss_mdp.c index 8749a171b14b..86d71d8a8674 100644 --- a/drivers/video/fbdev/msm/mdss_mdp.c +++ b/drivers/video/fbdev/msm/mdss_mdp.c @@ -1073,6 +1073,7 @@ static void mdss_mdp_hw_rev_caps_init(struct mdss_data_type *mdata) mdata->apply_post_scale_bytes = false; mdata->hflip_buffer_reused = false; mdata->min_prefill_lines = 21; + mdata->has_ubwc = true; set_bit(MDSS_QOS_PER_PIPE_IB, mdata->mdss_qos_map); set_bit(MDSS_QOS_OVERHEAD_FACTOR, mdata->mdss_qos_map); set_bit(MDSS_QOS_CDP, mdata->mdss_qos_map); @@ -1440,6 +1441,8 @@ static ssize_t mdss_mdp_show_capabilities(struct device *dev, SPRINT("features="); if (mdata->has_bwc) SPRINT(" bwc"); + if (mdata->has_ubwc) + SPRINT(" ubwc"); if (mdata->has_decimation) SPRINT(" decimation"); if (mdata->highest_bank_bit) diff --git a/drivers/video/fbdev/msm/mdss_mdp.h b/drivers/video/fbdev/msm/mdss_mdp.h index b9bfb8c954d4..e0f4e04df47e 100644 --- a/drivers/video/fbdev/msm/mdss_mdp.h +++ b/drivers/video/fbdev/msm/mdss_mdp.h @@ -919,9 +919,9 @@ static inline bool mdss_mdp_is_nv12_format(struct mdss_mdp_format_params *fmt) (fmt->fetch_planes == MDSS_MDP_PLANE_PSEUDO_PLANAR); } -static inline int mdss_mdp_is_ubwc_supported(struct mdss_data_type *mdata) +static inline bool mdss_mdp_is_ubwc_supported(struct mdss_data_type *mdata) { - return IS_MDSS_MAJOR_MINOR_SAME(mdata->mdp_rev, MDSS_MDP_HW_REV_107); + return mdata->has_ubwc; } static inline int mdss_mdp_is_cdm_supported(struct mdss_data_type *mdata,