Loading msm/sde/sde_crtc.c +5 −0 Original line number Diff line number Diff line Loading @@ -5659,6 +5659,9 @@ void sde_crtc_misr_setup(struct drm_crtc *crtc, bool enable, u32 frame_count) } sde_crtc = to_sde_crtc(crtc); if (!sde_crtc->misr_reconfigure) return; sde_crtc->misr_enable_sui = enable; sde_crtc->misr_frame_count = frame_count; for (i = 0; i < sde_crtc->num_mixers; ++i) { Loading @@ -5668,6 +5671,7 @@ 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); } sde_crtc->misr_reconfigure = false; } void sde_crtc_get_misr_info(struct drm_crtc *crtc, Loading Loading @@ -5893,6 +5897,7 @@ static ssize_t _sde_crtc_misr_setup(struct file *file, return rc; sde_crtc->misr_enable_debugfs = enable; sde_crtc->misr_reconfigure = true; sde_crtc_misr_setup(crtc, enable, frame_count); pm_runtime_put_sync(crtc->dev->dev); Loading msm/sde/sde_crtc.h +2 −0 Original line number Diff line number Diff line Loading @@ -267,6 +267,7 @@ struct sde_crtc_misr_info { * for secure cases. * @misr_enable_debugfs : boolean entry indicates misr enable/disable status * from debugfs. * @misr_reconfigure : boolean entry indicates misr reconfigure status * @misr_frame_count : misr frame count provided by client * @misr_data : store misr data before turning off the clocks. * @idle_notify_work: delayed worker to notify idle timeout to user space Loading Loading @@ -341,6 +342,7 @@ struct sde_crtc { spinlock_t event_lock; bool misr_enable_sui; bool misr_enable_debugfs; bool misr_reconfigure; u32 misr_frame_count; struct kthread_delayed_work idle_notify_work; Loading msm/sde/sde_encoder.c +5 −0 Original line number Diff line number Diff line Loading @@ -1485,6 +1485,9 @@ static void sde_encoder_misr_configure(struct drm_encoder *drm_enc, } sde_enc = to_sde_encoder_virt(drm_enc); if (!sde_enc->misr_reconfigure) return; for (i = 0; i < sde_enc->num_phys_encs; i++) { struct sde_encoder_phys *phys = sde_enc->phys_encs[i]; Loading @@ -1493,6 +1496,7 @@ static void sde_encoder_misr_configure(struct drm_encoder *drm_enc, phys->ops.setup_misr(phys, enable, frame_count); } sde_enc->misr_reconfigure = false; } static void sde_encoder_input_event_handler(struct input_handle *handle, Loading Loading @@ -4292,6 +4296,7 @@ static ssize_t _sde_encoder_misr_setup(struct file *file, return rc; sde_enc->misr_enable = enable; sde_enc->misr_reconfigure = true; sde_enc->misr_frame_count = frame_count; sde_encoder_misr_configure(&sde_enc->base, enable, frame_count); pm_runtime_put_sync(drm_enc->dev->dev); Loading msm/sde/sde_encoder.h +2 −0 Original line number Diff line number Diff line Loading @@ -159,6 +159,7 @@ struct sde_encoder_ops { * @rsc_state_init: boolean to indicate rsc config init * @disp_info: local copy of msm_display_info struct * @misr_enable: misr enable/disable status * @misr_reconfigure: boolean entry indicates misr reconfigure status * @misr_frame_count: misr frame count before start capturing the data * @idle_pc_enabled: indicate if idle power collapse is enabled * currently. This can be controlled by user-mode Loading Loading @@ -226,6 +227,7 @@ struct sde_encoder_virt { bool rsc_state_init; struct msm_display_info disp_info; bool misr_enable; bool misr_reconfigure; u32 misr_frame_count; bool idle_pc_enabled; Loading Loading
msm/sde/sde_crtc.c +5 −0 Original line number Diff line number Diff line Loading @@ -5659,6 +5659,9 @@ void sde_crtc_misr_setup(struct drm_crtc *crtc, bool enable, u32 frame_count) } sde_crtc = to_sde_crtc(crtc); if (!sde_crtc->misr_reconfigure) return; sde_crtc->misr_enable_sui = enable; sde_crtc->misr_frame_count = frame_count; for (i = 0; i < sde_crtc->num_mixers; ++i) { Loading @@ -5668,6 +5671,7 @@ 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); } sde_crtc->misr_reconfigure = false; } void sde_crtc_get_misr_info(struct drm_crtc *crtc, Loading Loading @@ -5893,6 +5897,7 @@ static ssize_t _sde_crtc_misr_setup(struct file *file, return rc; sde_crtc->misr_enable_debugfs = enable; sde_crtc->misr_reconfigure = true; sde_crtc_misr_setup(crtc, enable, frame_count); pm_runtime_put_sync(crtc->dev->dev); Loading
msm/sde/sde_crtc.h +2 −0 Original line number Diff line number Diff line Loading @@ -267,6 +267,7 @@ struct sde_crtc_misr_info { * for secure cases. * @misr_enable_debugfs : boolean entry indicates misr enable/disable status * from debugfs. * @misr_reconfigure : boolean entry indicates misr reconfigure status * @misr_frame_count : misr frame count provided by client * @misr_data : store misr data before turning off the clocks. * @idle_notify_work: delayed worker to notify idle timeout to user space Loading Loading @@ -341,6 +342,7 @@ struct sde_crtc { spinlock_t event_lock; bool misr_enable_sui; bool misr_enable_debugfs; bool misr_reconfigure; u32 misr_frame_count; struct kthread_delayed_work idle_notify_work; Loading
msm/sde/sde_encoder.c +5 −0 Original line number Diff line number Diff line Loading @@ -1485,6 +1485,9 @@ static void sde_encoder_misr_configure(struct drm_encoder *drm_enc, } sde_enc = to_sde_encoder_virt(drm_enc); if (!sde_enc->misr_reconfigure) return; for (i = 0; i < sde_enc->num_phys_encs; i++) { struct sde_encoder_phys *phys = sde_enc->phys_encs[i]; Loading @@ -1493,6 +1496,7 @@ static void sde_encoder_misr_configure(struct drm_encoder *drm_enc, phys->ops.setup_misr(phys, enable, frame_count); } sde_enc->misr_reconfigure = false; } static void sde_encoder_input_event_handler(struct input_handle *handle, Loading Loading @@ -4292,6 +4296,7 @@ static ssize_t _sde_encoder_misr_setup(struct file *file, return rc; sde_enc->misr_enable = enable; sde_enc->misr_reconfigure = true; sde_enc->misr_frame_count = frame_count; sde_encoder_misr_configure(&sde_enc->base, enable, frame_count); pm_runtime_put_sync(drm_enc->dev->dev); Loading
msm/sde/sde_encoder.h +2 −0 Original line number Diff line number Diff line Loading @@ -159,6 +159,7 @@ struct sde_encoder_ops { * @rsc_state_init: boolean to indicate rsc config init * @disp_info: local copy of msm_display_info struct * @misr_enable: misr enable/disable status * @misr_reconfigure: boolean entry indicates misr reconfigure status * @misr_frame_count: misr frame count before start capturing the data * @idle_pc_enabled: indicate if idle power collapse is enabled * currently. This can be controlled by user-mode Loading Loading @@ -226,6 +227,7 @@ struct sde_encoder_virt { bool rsc_state_init; struct msm_display_info disp_info; bool misr_enable; bool misr_reconfigure; u32 misr_frame_count; bool idle_pc_enabled; Loading