msm: mdss: Add mdss capabilities for sdm630
Add MDSS version info along with other capabilities for sdm630. Change-Id: Ia34831b56c1ca32d17b56e6030c847b629a13a0b Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
This commit is contained in:
parent
c170aec689
commit
330ccf18bf
6 changed files with 19 additions and 7 deletions
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright (c) 2009-2016, The Linux Foundation. All rights reserved.
|
/* Copyright (c) 2009-2017, The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License version 2 and
|
* it under the terms of the GNU General Public License version 2 and
|
||||||
|
@ -1362,7 +1362,9 @@ static inline struct mdss_mdp_misr_map *mdss_misr_get_map(u32 block_id,
|
||||||
(mdata->mdp_rev ==
|
(mdata->mdp_rev ==
|
||||||
MDSS_MDP_HW_REV_301) ||
|
MDSS_MDP_HW_REV_301) ||
|
||||||
(mdata->mdp_rev ==
|
(mdata->mdp_rev ==
|
||||||
MDSS_MDP_HW_REV_320)) {
|
MDSS_MDP_HW_REV_320) ||
|
||||||
|
(mdata->mdp_rev ==
|
||||||
|
MDSS_MDP_HW_REV_330)) {
|
||||||
ctrl_reg += 0x8;
|
ctrl_reg += 0x8;
|
||||||
value_reg += 0x8;
|
value_reg += 0x8;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2109,6 +2109,7 @@ static void mdss_mdp_hw_rev_caps_init(struct mdss_data_type *mdata)
|
||||||
set_bit(MDSS_CAPS_SEC_DETACH_SMMU, mdata->mdss_caps_map);
|
set_bit(MDSS_CAPS_SEC_DETACH_SMMU, mdata->mdss_caps_map);
|
||||||
break;
|
break;
|
||||||
case MDSS_MDP_HW_REV_320:
|
case MDSS_MDP_HW_REV_320:
|
||||||
|
case MDSS_MDP_HW_REV_330:
|
||||||
mdata->max_target_zorder = 7; /* excluding base layer */
|
mdata->max_target_zorder = 7; /* excluding base layer */
|
||||||
mdata->max_cursor_size = 512;
|
mdata->max_cursor_size = 512;
|
||||||
mdata->per_pipe_ib_factor.numer = 8;
|
mdata->per_pipe_ib_factor.numer = 8;
|
||||||
|
@ -2117,7 +2118,9 @@ static void mdss_mdp_hw_rev_caps_init(struct mdss_data_type *mdata)
|
||||||
mdata->hflip_buffer_reused = false;
|
mdata->hflip_buffer_reused = false;
|
||||||
mdata->min_prefill_lines = 25;
|
mdata->min_prefill_lines = 25;
|
||||||
mdata->has_ubwc = true;
|
mdata->has_ubwc = true;
|
||||||
mdata->pixel_ram_size = 50 * 1024;
|
mdata->pixel_ram_size =
|
||||||
|
(mdata->mdp_rev == MDSS_MDP_HW_REV_320) ? 50 : 40;
|
||||||
|
mdata->pixel_ram_size *= 1024;
|
||||||
mdata->rects_per_sspp[MDSS_MDP_PIPE_TYPE_DMA] = 2;
|
mdata->rects_per_sspp[MDSS_MDP_PIPE_TYPE_DMA] = 2;
|
||||||
|
|
||||||
mem_protect_sd_ctrl_id = MEM_PROTECT_SD_CTRL_SWITCH;
|
mem_protect_sd_ctrl_id = MEM_PROTECT_SD_CTRL_SWITCH;
|
||||||
|
@ -4853,6 +4856,7 @@ static void apply_dynamic_ot_limit(u32 *ot_lim,
|
||||||
*ot_lim = 6;
|
*ot_lim = 6;
|
||||||
break;
|
break;
|
||||||
case MDSS_MDP_HW_REV_320:
|
case MDSS_MDP_HW_REV_320:
|
||||||
|
case MDSS_MDP_HW_REV_330:
|
||||||
if ((res <= RES_1080p) && (params->frame_rate <= 30))
|
if ((res <= RES_1080p) && (params->frame_rate <= 30))
|
||||||
*ot_lim = 2;
|
*ot_lim = 2;
|
||||||
else if ((res <= RES_1080p) && (params->frame_rate <= 60))
|
else if ((res <= RES_1080p) && (params->frame_rate <= 60))
|
||||||
|
|
|
@ -1298,7 +1298,9 @@ static inline int mdss_mdp_panic_signal_support_mode(
|
||||||
IS_MDSS_MAJOR_MINOR_SAME(mdata->mdp_rev,
|
IS_MDSS_MAJOR_MINOR_SAME(mdata->mdp_rev,
|
||||||
MDSS_MDP_HW_REV_300) ||
|
MDSS_MDP_HW_REV_300) ||
|
||||||
IS_MDSS_MAJOR_MINOR_SAME(mdata->mdp_rev,
|
IS_MDSS_MAJOR_MINOR_SAME(mdata->mdp_rev,
|
||||||
MDSS_MDP_HW_REV_320))
|
MDSS_MDP_HW_REV_320) ||
|
||||||
|
IS_MDSS_MAJOR_MINOR_SAME(mdata->mdp_rev,
|
||||||
|
MDSS_MDP_HW_REV_330))
|
||||||
signal_mode = MDSS_MDP_PANIC_PER_PIPE_CFG;
|
signal_mode = MDSS_MDP_PANIC_PER_PIPE_CFG;
|
||||||
|
|
||||||
return signal_mode;
|
return signal_mode;
|
||||||
|
|
|
@ -2410,9 +2410,10 @@ bool mdss_mdp_is_amortizable_pipe(struct mdss_mdp_pipe *pipe,
|
||||||
(mixer->type == MDSS_MDP_MIXER_TYPE_INTF)))
|
(mixer->type == MDSS_MDP_MIXER_TYPE_INTF)))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
/* do not apply for sdm660 in command mode */
|
/* do not apply for sdm660 & sdm630 in command mode */
|
||||||
if ((IS_MDSS_MAJOR_MINOR_SAME(mdata->mdp_rev,
|
if ((IS_MDSS_MAJOR_MINOR_SAME(mdata->mdp_rev, MDSS_MDP_HW_REV_320) ||
|
||||||
MDSS_MDP_HW_REV_320)) && !mixer->ctl->is_video_mode)
|
IS_MDSS_MAJOR_MINOR_SAME(mdata->mdp_rev, MDSS_MDP_HW_REV_330))
|
||||||
|
&& !mixer->ctl->is_video_mode)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -1124,6 +1124,7 @@ static int pp_vig_pipe_setup(struct mdss_mdp_pipe *pipe, u32 *op)
|
||||||
|
|
||||||
mdata = mdss_mdp_get_mdata();
|
mdata = mdss_mdp_get_mdata();
|
||||||
if (IS_MDSS_MAJOR_MINOR_SAME(mdata->mdp_rev, MDSS_MDP_HW_REV_320) ||
|
if (IS_MDSS_MAJOR_MINOR_SAME(mdata->mdp_rev, MDSS_MDP_HW_REV_320) ||
|
||||||
|
IS_MDSS_MAJOR_MINOR_SAME(mdata->mdp_rev, MDSS_MDP_HW_REV_330) ||
|
||||||
IS_MDSS_MAJOR_MINOR_SAME(mdata->mdp_rev, MDSS_MDP_HW_REV_301) ||
|
IS_MDSS_MAJOR_MINOR_SAME(mdata->mdp_rev, MDSS_MDP_HW_REV_301) ||
|
||||||
IS_MDSS_MAJOR_MINOR_SAME(mdata->mdp_rev, MDSS_MDP_HW_REV_300)) {
|
IS_MDSS_MAJOR_MINOR_SAME(mdata->mdp_rev, MDSS_MDP_HW_REV_300)) {
|
||||||
if (pipe->src_fmt->is_yuv) {
|
if (pipe->src_fmt->is_yuv) {
|
||||||
|
@ -7670,6 +7671,7 @@ static int pp_get_driver_ops(struct mdp_pp_driver_ops *ops)
|
||||||
case MDSS_MDP_HW_REV_300:
|
case MDSS_MDP_HW_REV_300:
|
||||||
case MDSS_MDP_HW_REV_301:
|
case MDSS_MDP_HW_REV_301:
|
||||||
case MDSS_MDP_HW_REV_320:
|
case MDSS_MDP_HW_REV_320:
|
||||||
|
case MDSS_MDP_HW_REV_330:
|
||||||
/*
|
/*
|
||||||
* Some of the REV_300 PP features are same as REV_107.
|
* Some of the REV_300 PP features are same as REV_107.
|
||||||
* Get the driver ops for both the versions and update the
|
* Get the driver ops for both the versions and update the
|
||||||
|
|
|
@ -119,6 +119,7 @@
|
||||||
#define MDSS_MDP_HW_REV_300 MDSS_MDP_REV(3, 0, 0) /* msm8998 */
|
#define MDSS_MDP_HW_REV_300 MDSS_MDP_REV(3, 0, 0) /* msm8998 */
|
||||||
#define MDSS_MDP_HW_REV_301 MDSS_MDP_REV(3, 0, 1) /* msm8998 v1.0 */
|
#define MDSS_MDP_HW_REV_301 MDSS_MDP_REV(3, 0, 1) /* msm8998 v1.0 */
|
||||||
#define MDSS_MDP_HW_REV_320 MDSS_MDP_REV(3, 2, 0) /* sdm660 */
|
#define MDSS_MDP_HW_REV_320 MDSS_MDP_REV(3, 2, 0) /* sdm660 */
|
||||||
|
#define MDSS_MDP_HW_REV_330 MDSS_MDP_REV(3, 3, 0) /* sdm630 */
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
NOTIFY_UPDATE_INIT,
|
NOTIFY_UPDATE_INIT,
|
||||||
|
|
Loading…
Add table
Reference in a new issue