On 2018-11-16 10:42, Sean Paul wrote:
From: Sean Paul seanpaul@chromium.org
Now that runtime resume is handled in encoder, we don't need to worry about crtc_lock recursion when calling pm_runtime_(get|put). So drop the lock drops in _dpu_crtc_vblank_enable_no_lock().
Changes in v2:
- None
Signed-off-by: Sean Paul seanpaul@chromium.org
Reviewed-by: Jeykumar Sankaran jsanka@codeaurora.org
drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 6 ------ 1 file changed, 6 deletions(-)
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c index 9be24907f8c1..80de5289ada3 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c @@ -777,10 +777,7 @@ static void _dpu_crtc_vblank_enable_no_lock( struct drm_encoder *enc;
if (enable) {
/* drop lock since power crtc cb may try to re-acquire
lock */
mutex_unlock(&dpu_crtc->crtc_lock);
pm_runtime_get_sync(dev->dev);
mutex_lock(&dpu_crtc->crtc_lock);
list_for_each_entry(enc, &dev->mode_config.encoder_list,
head) { if (enc->crtc != crtc) @@ -805,10 +802,7 @@ static void _dpu_crtc_vblank_enable_no_lock( dpu_encoder_register_vblank_callback(enc, NULL, NULL); }
/* drop lock since power crtc cb may try to re-acquire
lock */
pm_runtime_put_sync(dev->dev);mutex_unlock(&dpu_crtc->crtc_lock);
}mutex_lock(&dpu_crtc->crtc_lock);
}