Loading drivers/gpu/drm/msm/sde/sde_encoder.c +19 −15 Original line number Diff line number Diff line Loading @@ -2708,6 +2708,21 @@ void sde_encoder_virt_restore(struct drm_encoder *drm_enc) _sde_encoder_virt_enable_helper(drm_enc); } static void sde_encoder_off_work(struct kthread_work *work) { struct sde_encoder_virt *sde_enc = container_of(work, struct sde_encoder_virt, delayed_off_work.work); struct drm_encoder *drm_enc; if (!sde_enc) { SDE_ERROR("invalid sde encoder\n"); return; } drm_enc = &sde_enc->base; sde_encoder_idle_request(drm_enc); } static void sde_encoder_virt_enable(struct drm_encoder *drm_enc) { struct sde_encoder_virt *sde_enc = NULL; Loading Loading @@ -2768,6 +2783,10 @@ static void sde_encoder_virt_enable(struct drm_encoder *drm_enc) sde_enc->input_handler_registered = true; } if (!msm_is_mode_seamless_vrr(cur_mode)) kthread_init_delayed_work(&sde_enc->delayed_off_work, sde_encoder_off_work); ret = sde_encoder_resource_control(drm_enc, SDE_ENC_RC_EVENT_KICKOFF); if (ret) { SDE_ERROR_ENC(sde_enc, "sde resource control failed: %d\n", Loading Loading @@ -3094,21 +3113,6 @@ int sde_encoder_idle_request(struct drm_encoder *drm_enc) return 0; } static void sde_encoder_off_work(struct kthread_work *work) { struct sde_encoder_virt *sde_enc = container_of(work, struct sde_encoder_virt, delayed_off_work.work); struct drm_encoder *drm_enc; if (!sde_enc) { SDE_ERROR("invalid sde encoder\n"); return; } drm_enc = &sde_enc->base; sde_encoder_idle_request(drm_enc); } /** * _sde_encoder_trigger_flush - trigger flush for a physical encoder * drm_enc: Pointer to drm encoder structure Loading Loading
drivers/gpu/drm/msm/sde/sde_encoder.c +19 −15 Original line number Diff line number Diff line Loading @@ -2708,6 +2708,21 @@ void sde_encoder_virt_restore(struct drm_encoder *drm_enc) _sde_encoder_virt_enable_helper(drm_enc); } static void sde_encoder_off_work(struct kthread_work *work) { struct sde_encoder_virt *sde_enc = container_of(work, struct sde_encoder_virt, delayed_off_work.work); struct drm_encoder *drm_enc; if (!sde_enc) { SDE_ERROR("invalid sde encoder\n"); return; } drm_enc = &sde_enc->base; sde_encoder_idle_request(drm_enc); } static void sde_encoder_virt_enable(struct drm_encoder *drm_enc) { struct sde_encoder_virt *sde_enc = NULL; Loading Loading @@ -2768,6 +2783,10 @@ static void sde_encoder_virt_enable(struct drm_encoder *drm_enc) sde_enc->input_handler_registered = true; } if (!msm_is_mode_seamless_vrr(cur_mode)) kthread_init_delayed_work(&sde_enc->delayed_off_work, sde_encoder_off_work); ret = sde_encoder_resource_control(drm_enc, SDE_ENC_RC_EVENT_KICKOFF); if (ret) { SDE_ERROR_ENC(sde_enc, "sde resource control failed: %d\n", Loading Loading @@ -3094,21 +3113,6 @@ int sde_encoder_idle_request(struct drm_encoder *drm_enc) return 0; } static void sde_encoder_off_work(struct kthread_work *work) { struct sde_encoder_virt *sde_enc = container_of(work, struct sde_encoder_virt, delayed_off_work.work); struct drm_encoder *drm_enc; if (!sde_enc) { SDE_ERROR("invalid sde encoder\n"); return; } drm_enc = &sde_enc->base; sde_encoder_idle_request(drm_enc); } /** * _sde_encoder_trigger_flush - trigger flush for a physical encoder * drm_enc: Pointer to drm encoder structure Loading