[PATCH 1/3] drm/radeon/kms: add some loop timeouts in pageflip code

Simon Farnsworth simon.farnsworth at onelan.co.uk
Tue Nov 29 03:10:13 PST 2011


I've tested all three patches in this series, on an AMD E-350 platform.

1/3 is essential to prevent a complete system hang if the GPU needs
resetting during a page flip; the disaster case is this endless loop running
on core 0, and RCU on core 1 waiting for core 0 to idle.

The remaining two need matching patches to the DDX to be useful, and expose
bugs in Mesa as well.

Tested-by: Simon Farnsworth <simon.farnsworth at onelan.co.uk>

On Monday 28 November 2011, alexdeucher at gmail.com wrote:
> From: Alex Deucher <alexander.deucher at amd.com>
> 
> Avoid infinite loops waiting for surface updates if a GPU
> reset happens while waiting for a page flip.
> 
> See:
> https://bugs.freedesktop.org/show_bug.cgi?id=43191
> 
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
> Cc: stable at kernel.org
> Cc: Mario Kleiner <mario.kleiner at tuebingen.mpg.de>
> ---
>  drivers/gpu/drm/radeon/evergreen.c |    7 ++++++-
>  drivers/gpu/drm/radeon/r100.c      |    7 ++++++-
>  drivers/gpu/drm/radeon/rs600.c     |    7 ++++++-
>  drivers/gpu/drm/radeon/rv770.c     |    7 ++++++-
>  4 files changed, 24 insertions(+), 4 deletions(-)
> 

-- 
Simon Farnsworth
Software Engineer
ONELAN Limited
http://www.onelan.com/


More information about the dri-devel mailing list