Loading drivers/gpu/drm/msm/sde/sde_crtc.c +16 −16 Original line number Diff line number Diff line Loading @@ -5381,7 +5381,6 @@ int sde_crtc_helper_reset_custom_properties(struct drm_crtc *crtc, void sde_crtc_misr_setup(struct drm_crtc *crtc, bool enable, u32 frame_count) { struct sde_kms *sde_kms; struct sde_crtc *sde_crtc; struct sde_crtc_mixer *m; int i; Loading @@ -5392,20 +5391,6 @@ void sde_crtc_misr_setup(struct drm_crtc *crtc, bool enable, u32 frame_count) } sde_crtc = to_sde_crtc(crtc); sde_kms = _sde_crtc_get_kms(crtc); if (!sde_kms) { SDE_ERROR("invalid sde_kms\n"); return; } mutex_lock(&sde_crtc->crtc_lock); if (sde_kms_is_secure_session_inprogress(sde_kms)) { SDE_DEBUG("crtc:%d misr enable/disable not allowed\n", DRMID(crtc)); mutex_unlock(&sde_crtc->crtc_lock); return; } sde_crtc->misr_enable = enable; sde_crtc->misr_frame_count = frame_count; for (i = 0; i < sde_crtc->num_mixers; ++i) { Loading @@ -5416,7 +5401,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); } mutex_unlock(&sde_crtc->crtc_lock); } #ifdef CONFIG_DEBUG_FS Loading Loading @@ -5573,6 +5557,7 @@ static ssize_t _sde_crtc_misr_setup(struct file *file, char buf[MISR_BUFF_SIZE + 1]; u32 frame_count, enable; size_t buff_copy; struct sde_kms *sde_kms; if (!file || !file->private_data) return -EINVAL; Loading @@ -5580,6 +5565,12 @@ static ssize_t _sde_crtc_misr_setup(struct file *file, sde_crtc = file->private_data; crtc = &sde_crtc->base; sde_kms = _sde_crtc_get_kms(crtc); if (!sde_kms) { SDE_ERROR("invalid sde_kms\n"); return -EINVAL; } buff_copy = min_t(size_t, count, MISR_BUFF_SIZE); if (copy_from_user(buf, user_buf, buff_copy)) { SDE_ERROR("buffer copy failed\n"); Loading @@ -5595,7 +5586,16 @@ static ssize_t _sde_crtc_misr_setup(struct file *file, if (rc) return rc; mutex_lock(&sde_crtc->crtc_lock); if (sde_kms_is_secure_session_inprogress(sde_kms)) { SDE_DEBUG("crtc:%d misr enable/disable not allowed\n", DRMID(crtc)); goto end; } sde_crtc_misr_setup(crtc, enable, frame_count); end: mutex_unlock(&sde_crtc->crtc_lock); _sde_crtc_power_enable(sde_crtc, false); return count; Loading Loading
drivers/gpu/drm/msm/sde/sde_crtc.c +16 −16 Original line number Diff line number Diff line Loading @@ -5381,7 +5381,6 @@ int sde_crtc_helper_reset_custom_properties(struct drm_crtc *crtc, void sde_crtc_misr_setup(struct drm_crtc *crtc, bool enable, u32 frame_count) { struct sde_kms *sde_kms; struct sde_crtc *sde_crtc; struct sde_crtc_mixer *m; int i; Loading @@ -5392,20 +5391,6 @@ void sde_crtc_misr_setup(struct drm_crtc *crtc, bool enable, u32 frame_count) } sde_crtc = to_sde_crtc(crtc); sde_kms = _sde_crtc_get_kms(crtc); if (!sde_kms) { SDE_ERROR("invalid sde_kms\n"); return; } mutex_lock(&sde_crtc->crtc_lock); if (sde_kms_is_secure_session_inprogress(sde_kms)) { SDE_DEBUG("crtc:%d misr enable/disable not allowed\n", DRMID(crtc)); mutex_unlock(&sde_crtc->crtc_lock); return; } sde_crtc->misr_enable = enable; sde_crtc->misr_frame_count = frame_count; for (i = 0; i < sde_crtc->num_mixers; ++i) { Loading @@ -5416,7 +5401,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); } mutex_unlock(&sde_crtc->crtc_lock); } #ifdef CONFIG_DEBUG_FS Loading Loading @@ -5573,6 +5557,7 @@ static ssize_t _sde_crtc_misr_setup(struct file *file, char buf[MISR_BUFF_SIZE + 1]; u32 frame_count, enable; size_t buff_copy; struct sde_kms *sde_kms; if (!file || !file->private_data) return -EINVAL; Loading @@ -5580,6 +5565,12 @@ static ssize_t _sde_crtc_misr_setup(struct file *file, sde_crtc = file->private_data; crtc = &sde_crtc->base; sde_kms = _sde_crtc_get_kms(crtc); if (!sde_kms) { SDE_ERROR("invalid sde_kms\n"); return -EINVAL; } buff_copy = min_t(size_t, count, MISR_BUFF_SIZE); if (copy_from_user(buf, user_buf, buff_copy)) { SDE_ERROR("buffer copy failed\n"); Loading @@ -5595,7 +5586,16 @@ static ssize_t _sde_crtc_misr_setup(struct file *file, if (rc) return rc; mutex_lock(&sde_crtc->crtc_lock); if (sde_kms_is_secure_session_inprogress(sde_kms)) { SDE_DEBUG("crtc:%d misr enable/disable not allowed\n", DRMID(crtc)); goto end; } sde_crtc_misr_setup(crtc, enable, frame_count); end: mutex_unlock(&sde_crtc->crtc_lock); _sde_crtc_power_enable(sde_crtc, false); return count; Loading