summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev
diff options
context:
space:
mode:
authorKrishna Chaitanya Devarakonda <kdevarak@codeaurora.org>2016-03-09 14:03:10 -0800
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 21:18:04 -0700
commit1f6940fa9c99ef2bd0306d625e80163ee9de20de (patch)
tree84112a83ebafed708d28c604965f4402c47efde5 /drivers/video/fbdev
parent24f4f571847df67bc713d20fbfd2bca1737c36de (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.c20
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp.h4
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;