On Fri, Jan 15, 2010 at 8:44 AM, Jerome Glisse <jgli...@redhat.com> wrote:
> In some rare case i faced an irq overflow quickly followed by
> a GPU lockup (hard hang) this patch try to deal with irq vector
> ring overflow, so far haven't been able to reproduce it with
> the patch.
>
> Signed-off-by: Jerome Glisse <jgli...@redhat.com>

Reviewed-by: Alex Deucher <alexdeuc...@gmail.com>

> ---
>  drivers/gpu/drm/radeon/r600.c |   10 +++++++---
>  1 files changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c
> index 0f9a8c6..bb9115b 100644
> --- a/drivers/gpu/drm/radeon/r600.c
> +++ b/drivers/gpu/drm/radeon/r600.c
> @@ -2648,9 +2648,13 @@ static inline u32 r600_get_ih_wptr(struct 
> radeon_device *rdev)
>        wptr = RREG32(IH_RB_WPTR);
>
>        if (wptr & RB_OVERFLOW) {
> -               WARN_ON(1);
> -               /* XXX deal with overflow */
> -               DRM_ERROR("IH RB overflow\n");
> +               /* When a ring buffer overflow happen start parsing interrupt
> +                * from the last not overwritten vector (wptr + 16). Hopefully
> +                * this should allow us to catchup.
> +                */
> +               dev_warn(rdev->dev, "IH ring buffer overflow (0x%08X, %d, 
> %d)\n",
> +                       wptr, rdev->ih.rptr, (wptr + 16) + rdev->ih.ptr_mask);
> +               rdev->ih.rptr = (wptr + 16) & rdev->ih.ptr_mask;
>                tmp = RREG32(IH_RB_CNTL);
>                tmp |= IH_WPTR_OVERFLOW_CLEAR;
>                WREG32(IH_RB_CNTL, tmp);
> --
> 1.6.5.2
>
>
> ------------------------------------------------------------------------------
> Throughout its 18-year history, RSA Conference consistently attracts the
> world's best and brightest in the field, creating opportunities for Conference
> attendees to learn about information security's most important issues through
> interactions with peers, luminaries and emerging and established companies.
> http://p.sf.net/sfu/rsaconf-dev2dev
> --
> _______________________________________________
> Dri-devel mailing list
> Dri-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/dri-devel
>

------------------------------------------------------------------------------
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to