On 2018-04-26 11:58 AM, Michel Dänzer wrote:
> From: Michel Dänzer <michel.daen...@amd.com>
> 
> This prevents a nested call to drmHandleEvent, which would hang.
> 
> Fixes hangs when disabling TearFree on a CRTC while a DRI3 client is
> page flipping.
> 
> Signed-off-by: Michel Dänzer <michel.daen...@amd.com>
> ---
>  src/drmmode_display.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/src/drmmode_display.c b/src/drmmode_display.c
> index cf1e5d1f1..4fac645b9 100644
> --- a/src/drmmode_display.c
> +++ b/src/drmmode_display.c
> @@ -1750,6 +1750,15 @@ drmmode_output_set_tear_free(AMDGPUEntPtr pAMDGPUEnt,
>       drmmode_output->tear_free = tear_free;
>  
>       if (crtc) {
> +             drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
> +
> +             /* Wait for pending flips before drmmode_set_mode_major calls 
Trailing white space.
Otherwise the two patches are 
        Reviewed-by: Samuel Li <samuel...@amd.com> 

Sam

> +              * drmmode_crtc_update_tear_free, to prevent a nested
> +              * drmHandleEvent call, which would hang
> +              */
> +             drmmode_crtc_wait_pending_event(drmmode_crtc,
> +                                             pAMDGPUEnt->fd,
> +                                             drmmode_crtc->flip_pending);
>               drmmode_set_mode_major(crtc, &crtc->mode, crtc->rotation,
>                                      crtc->x, crtc->y);
>       }
> 
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to