[PATCH xf86-video-ati 1/2] Also call drmmode_clear_pending_flip from radeon_scanout_flip_abort

Deucher, Alexander Alexander.Deucher at amd.com
Thu Aug 25 13:42:02 UTC 2016


> -----Original Message-----
> From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On Behalf
> Of Michel Dänzer
> Sent: Thursday, August 25, 2016 5:58 AM
> To: amd-gfx at lists.freedesktop.org
> Subject: [PATCH xf86-video-ati 1/2] Also call drmmode_clear_pending_flip
> from radeon_scanout_flip_abort
> 
> From: Michel Dänzer <michel.daenzer at amd.com>
> 
> Not doing so could break DPMS with TearFree.
> 
> Reported-and-Tested-by: furkan on IRC
> Fixes: 9090309e057d ("Wait for pending flips to complete before turning
> off an output or CRTC")
> 
> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>

For the series:
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

> ---
>  src/drmmode_display.c | 2 +-
>  src/drmmode_display.h | 1 +
>  src/radeon_kms.c      | 2 +-
>  3 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/src/drmmode_display.c b/src/drmmode_display.c
> index 14d86c7..96a3c3b 100644
> --- a/src/drmmode_display.c
> +++ b/src/drmmode_display.c
> @@ -2174,7 +2174,7 @@ static const xf86CrtcConfigFuncsRec
> drmmode_xf86crtc_config_funcs = {
>  	drmmode_xf86crtc_resize
>  };
> 
> -static void
> +void
>  drmmode_clear_pending_flip(xf86CrtcPtr crtc)
>  {
>  	drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
> diff --git a/src/drmmode_display.h b/src/drmmode_display.h
> index 24e3efb..53c7926 100644
> --- a/src/drmmode_display.h
> +++ b/src/drmmode_display.h
> @@ -154,6 +154,7 @@ extern int drmmode_get_crtc_id(xf86CrtcPtr crtc);
>  extern int drmmode_get_height_align(ScrnInfoPtr scrn, uint32_t tiling);
>  extern int drmmode_get_pitch_align(ScrnInfoPtr scrn, int bpe, uint32_t
> tiling);
>  extern int drmmode_get_base_align(ScrnInfoPtr scrn, int bpe, uint32_t
> tiling);
> +extern void drmmode_clear_pending_flip(xf86CrtcPtr crtc);
> 
>  Bool radeon_do_pageflip(ScrnInfoPtr scrn, ClientPtr client,
>  			uint32_t new_front_handle, uint64_t id, void *data,
> diff --git a/src/radeon_kms.c b/src/radeon_kms.c
> index e353d66..c10fb42 100644
> --- a/src/radeon_kms.c
> +++ b/src/radeon_kms.c
> @@ -786,7 +786,7 @@ radeon_scanout_flip_abort(xf86CrtcPtr crtc, void
> *event_data)
>      drmmode_crtc_private_ptr drmmode_crtc = event_data;
> 
>      drmmode_crtc->scanout_update_pending = FALSE;
> -    drmmode_crtc->flip_pending = FALSE;
> +    drmmode_clear_pending_flip(crtc);
>  }
> 
>  static void
> --
> 2.9.3
> 
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx


More information about the amd-gfx mailing list