disp: msm: sde: update misr check to configure misr in secure UI
This change updates misr checks so that misr can be configured during secure display session. In the current code, misr_reconfigure flag is set only when accessing through debugfs node. Change-Id: Ic3a8316a4881551da3f0f340f6ef5ae3fbe4913f Signed-off-by: Yashwanth <yvulapu@codeaurora.org>
This commit is contained in:
@@ -5711,9 +5711,6 @@ void sde_crtc_misr_setup(struct drm_crtc *crtc, bool enable, u32 frame_count)
|
|||||||
}
|
}
|
||||||
sde_crtc = to_sde_crtc(crtc);
|
sde_crtc = to_sde_crtc(crtc);
|
||||||
|
|
||||||
if (!sde_crtc->misr_reconfigure)
|
|
||||||
return;
|
|
||||||
|
|
||||||
sde_crtc->misr_enable_sui = enable;
|
sde_crtc->misr_enable_sui = enable;
|
||||||
sde_crtc->misr_frame_count = frame_count;
|
sde_crtc->misr_frame_count = frame_count;
|
||||||
for (i = 0; i < sde_crtc->num_mixers; ++i) {
|
for (i = 0; i < sde_crtc->num_mixers; ++i) {
|
||||||
@@ -5723,7 +5720,6 @@ void sde_crtc_misr_setup(struct drm_crtc *crtc, bool enable, u32 frame_count)
|
|||||||
|
|
||||||
m->hw_lm->ops.setup_misr(m->hw_lm, enable, frame_count);
|
m->hw_lm->ops.setup_misr(m->hw_lm, enable, frame_count);
|
||||||
}
|
}
|
||||||
sde_crtc->misr_reconfigure = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void sde_crtc_get_misr_info(struct drm_crtc *crtc,
|
void sde_crtc_get_misr_info(struct drm_crtc *crtc,
|
||||||
|
@@ -3413,12 +3413,14 @@ static void _sde_encoder_kickoff_phys(struct sde_encoder_virt *sde_enc)
|
|||||||
struct sde_kms *sde_kms = NULL;
|
struct sde_kms *sde_kms = NULL;
|
||||||
struct sde_crtc_misr_info crtc_misr_info = {false, 0};
|
struct sde_crtc_misr_info crtc_misr_info = {false, 0};
|
||||||
bool is_regdma_blocking = false, is_vid_mode = false;
|
bool is_regdma_blocking = false, is_vid_mode = false;
|
||||||
|
struct sde_crtc *sde_crtc;
|
||||||
|
|
||||||
if (!sde_enc) {
|
if (!sde_enc) {
|
||||||
SDE_ERROR("invalid encoder\n");
|
SDE_ERROR("invalid encoder\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sde_crtc = to_sde_crtc(sde_enc->crtc);
|
||||||
if (sde_encoder_check_curr_mode(&sde_enc->base, MSM_DISPLAY_VIDEO_MODE))
|
if (sde_encoder_check_curr_mode(&sde_enc->base, MSM_DISPLAY_VIDEO_MODE))
|
||||||
is_vid_mode = true;
|
is_vid_mode = true;
|
||||||
|
|
||||||
@@ -3486,9 +3488,12 @@ static void _sde_encoder_kickoff_phys(struct sde_encoder_virt *sde_enc)
|
|||||||
sde_enc->misr_frame_count);
|
sde_enc->misr_frame_count);
|
||||||
|
|
||||||
sde_crtc_get_misr_info(sde_enc->crtc, &crtc_misr_info);
|
sde_crtc_get_misr_info(sde_enc->crtc, &crtc_misr_info);
|
||||||
if (crtc_misr_info.misr_enable)
|
if (crtc_misr_info.misr_enable && sde_crtc &&
|
||||||
|
sde_crtc->misr_reconfigure) {
|
||||||
sde_crtc_misr_setup(sde_enc->crtc, true,
|
sde_crtc_misr_setup(sde_enc->crtc, true,
|
||||||
crtc_misr_info.misr_frame_count);
|
crtc_misr_info.misr_frame_count);
|
||||||
|
sde_crtc->misr_reconfigure = false;
|
||||||
|
}
|
||||||
|
|
||||||
_sde_encoder_trigger_start(sde_enc->cur_master);
|
_sde_encoder_trigger_start(sde_enc->cur_master);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user