diff options
| author | Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org> | 2016-03-09 14:03:10 -0800 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 21:18:04 -0700 |
| commit | 1f6940fa9c99ef2bd0306d625e80163ee9de20de (patch) | |
| tree | 84112a83ebafed708d28c604965f4402c47efde5 /drivers/video/fbdev | |
| parent | 24f4f571847df67bc713d20fbfd2bca1737c36de (diff) | |
msm: mdss: Add mdss capabilities for msmgold
Add MDSS version info along with other capabilities
for msmgold.
Change-Id: Ia4602fdaf29bad28dffab4bb08a43a6eb6f32178
Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
Signed-off-by: Kalyan Thota <kalyant@codeaurora.org>
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
Diffstat (limited to 'drivers/video/fbdev')
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_mdp.c | 20 | ||||
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_mdp.h | 4 |
2 files changed, 24 insertions, 0 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp.c b/drivers/video/fbdev/msm/mdss_mdp.c index 3735a6650f66..21555ebcbac9 100644 --- a/drivers/video/fbdev/msm/mdss_mdp.c +++ b/drivers/video/fbdev/msm/mdss_mdp.c @@ -1336,6 +1336,7 @@ static void mdss_mdp_hw_rev_caps_init(struct mdss_data_type *mdata) set_bit(MDSS_QOS_OTLIM, mdata->mdss_qos_map); break; case MDSS_MDP_HW_REV_114: + case MDSS_MDP_HW_REV_116: mdata->max_target_zorder = 4; /* excluding base layer */ mdata->max_cursor_size = 64; mdata->min_prefill_lines = 12; @@ -1353,6 +1354,24 @@ static void mdss_mdp_hw_rev_caps_init(struct mdss_data_type *mdata) mdss_set_quirk(mdata, MDSS_QUIRK_DMA_BI_DIR); mdss_set_quirk(mdata, MDSS_QUIRK_MIN_BUS_VOTE); break; + case MDSS_MDP_HW_REV_115: + mdata->max_target_zorder = 4; /* excluding base layer */ + mdata->max_cursor_size = 128; + mdata->min_prefill_lines = 14; + mdata->has_ubwc = true; + mdata->pixel_ram_size = 16 * 1024; + mdata->apply_post_scale_bytes = false; + mdata->hflip_buffer_reused = false; + set_bit(MDSS_QOS_OVERHEAD_FACTOR, mdata->mdss_qos_map); + set_bit(MDSS_QOS_CDP, mdata->mdss_qos_map); + set_bit(MDSS_QOS_PER_PIPE_LUT, mdata->mdss_qos_map); + set_bit(MDSS_QOS_SIMPLIFIED_PREFILL, mdata->mdss_qos_map); + set_bit(MDSS_CAPS_YUV_CONFIG, mdata->mdss_caps_map); + mdss_mdp_init_default_prefill_factors(mdata); + set_bit(MDSS_QOS_OTLIM, mdata->mdss_qos_map); + mdss_set_quirk(mdata, MDSS_QUIRK_DMA_BI_DIR); + mdss_set_quirk(mdata, MDSS_QUIRK_MIN_BUS_VOTE); + break; default: mdata->max_target_zorder = 4; /* excluding base layer */ mdata->max_cursor_size = 64; @@ -3832,6 +3851,7 @@ static void apply_dynamic_ot_limit(u32 *ot_lim, switch (mdata->mdp_rev) { case MDSS_MDP_HW_REV_114: + case MDSS_MDP_HW_REV_115: case MDSS_MDP_HW_REV_116: if ((res <= RES_1080p) && (params->frame_rate <= 30)) *ot_lim = 2; diff --git a/drivers/video/fbdev/msm/mdss_mdp.h b/drivers/video/fbdev/msm/mdss_mdp.h index ce749316740e..cb17311ec843 100644 --- a/drivers/video/fbdev/msm/mdss_mdp.h +++ b/drivers/video/fbdev/msm/mdss_mdp.h @@ -952,6 +952,8 @@ static inline bool mdss_mdp_req_init_restore_cfg(struct mdss_data_type *mdata) IS_MDSS_MAJOR_MINOR_SAME(mdata->mdp_rev, MDSS_MDP_HW_REV_114) || IS_MDSS_MAJOR_MINOR_SAME(mdata->mdp_rev, + MDSS_MDP_HW_REV_115) || + IS_MDSS_MAJOR_MINOR_SAME(mdata->mdp_rev, MDSS_MDP_HW_REV_116)) return true; @@ -977,6 +979,8 @@ static inline int mdss_mdp_panic_signal_support_mode( IS_MDSS_MAJOR_MINOR_SAME(mdata->mdp_rev, MDSS_MDP_HW_REV_114) || IS_MDSS_MAJOR_MINOR_SAME(mdata->mdp_rev, + MDSS_MDP_HW_REV_115) || + IS_MDSS_MAJOR_MINOR_SAME(mdata->mdp_rev, MDSS_MDP_HW_REV_116)) signal_mode = MDSS_MDP_PANIC_PER_PIPE_CFG; |
