|
@@ -1403,8 +1403,8 @@ static void _sde_crtc_blend_setup_mixer(struct drm_crtc *crtc,
|
|
|
struct sde_rect plane_crtc_roi;
|
|
|
uint32_t stage_idx, lm_idx;
|
|
|
int zpos_cnt[SDE_STAGE_MAX + 1] = { 0 };
|
|
|
- int i, cnt = 0;
|
|
|
- bool bg_alpha_enable = false;
|
|
|
+ int i, mode, cnt = 0;
|
|
|
+ bool bg_alpha_enable = false, is_secure = false;
|
|
|
u32 blend_type;
|
|
|
|
|
|
if (!sde_crtc || !crtc->state || !mixer) {
|
|
@@ -1434,6 +1434,12 @@ static void _sde_crtc_blend_setup_mixer(struct drm_crtc *crtc,
|
|
|
pstate = to_sde_plane_state(state);
|
|
|
fb = state->fb;
|
|
|
|
|
|
+ mode = sde_plane_get_property(pstate,
|
|
|
+ PLANE_PROP_FB_TRANSLATION_MODE);
|
|
|
+ is_secure = ((mode == SDE_DRM_FB_SEC) ||
|
|
|
+ (mode == SDE_DRM_FB_SEC_DIR_TRANS)) ?
|
|
|
+ true : false;
|
|
|
+
|
|
|
sde_plane_ctl_flush(plane, ctl, true);
|
|
|
|
|
|
SDE_DEBUG("crtc %d stage:%d - plane %d sspp %d fb %d\n",
|
|
@@ -1465,7 +1471,7 @@ static void _sde_crtc_blend_setup_mixer(struct drm_crtc *crtc,
|
|
|
state->src_w >> 16, state->src_h >> 16,
|
|
|
state->crtc_x, state->crtc_y,
|
|
|
state->crtc_w, state->crtc_h,
|
|
|
- pstate->rotation);
|
|
|
+ pstate->rotation, is_secure);
|
|
|
|
|
|
stage_idx = zpos_cnt[pstate->stage]++;
|
|
|
stage_cfg->stage[pstate->stage][stage_idx] =
|