[PATCH v2 14/24] drm/msm: dpu: Grab the modeset locks in frame_event

Jeykumar Sankaran jsanka at codeaurora.org
Fri Nov 16 20:02:54 UTC 2018


On 2018-11-16 10:42, Sean Paul wrote:
> From: Sean Paul <seanpaul at chromium.org>
> 
> This patch wraps dpu_core_perf_crtc_release_bw() with modeset locks
> since it digs into the state objects.
> 
> Changes in v2:
> - None
> 
> Signed-off-by: Sean Paul <seanpaul at chromium.org>
> ---
Reviewed-by: Jeykumar Sankaran <jsanka at codeaurora.org>

>  drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
> b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
> index 80de5289ada3..156f4c77ca44 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
> @@ -335,7 +335,9 @@ static void dpu_crtc_frame_event_work(struct
> kthread_work *work)
>  			/* release bandwidth and other resources */
>  			trace_dpu_crtc_frame_event_done(DRMID(crtc),
>  							fevent->event);
> +			drm_modeset_lock_all(crtc->dev);
>  			dpu_core_perf_crtc_release_bw(crtc);
> +			drm_modeset_unlock_all(crtc->dev);
We might need to revisit this locking when we measure for performance as 
it
could block the incoming frame locking.

>  		} else {
> 
> trace_dpu_crtc_frame_event_more_pending(DRMID(crtc),
> 
> fevent->event);

-- 
Jeykumar S


More information about the dri-devel mailing list