[PATCH 2/2] drm/radeon: SDMA fix hibernation (CI GPU family).

Alex Deucher alexdeucher at gmail.com
Thu Jun 25 07:56:06 PDT 2015


On Fri, Jun 19, 2015 at 10:32 AM,  <j.glisse at gmail.com> wrote:
> From: Jérôme Glisse <jglisse at redhat.com>
>
> In order for hibernation to reliably work we need to properly turn
> off the SDMA block, sadly after numerous attemps i haven't not found
> proper sequence for clean and full shutdown. So simply reset both
> SDMA block, this makes hibernation works reliably on sea island GPU
> family (CI)
>
> Hibernation and suspend to ram were tested (several times) on :
> Bonaire
> Hawaii
> Mullins
> Kaveri
> Kabini
>
> Cc: stable at vger.kernel.org
> Signed-off-by: Jérôme Glisse <jglisse at redhat.com>
> Reviewed-by: Christian König <christian.koenig at amd.com>

Applied the series.  thanks!

Alex

> ---
>  drivers/gpu/drm/radeon/cik_sdma.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
>
> diff --git a/drivers/gpu/drm/radeon/cik_sdma.c b/drivers/gpu/drm/radeon/cik_sdma.c
> index f86eb54..d16f2ee 100644
> --- a/drivers/gpu/drm/radeon/cik_sdma.c
> +++ b/drivers/gpu/drm/radeon/cik_sdma.c
> @@ -268,6 +268,17 @@ static void cik_sdma_gfx_stop(struct radeon_device *rdev)
>         }
>         rdev->ring[R600_RING_TYPE_DMA_INDEX].ready = false;
>         rdev->ring[CAYMAN_RING_TYPE_DMA1_INDEX].ready = false;
> +
> +       /* FIXME use something else than big hammer but after few days can not
> +        * seem to find good combination so reset SDMA blocks as it seems we
> +        * do not shut them down properly. This fix hibernation and does not
> +        * affect suspend to ram.
> +        */
> +       WREG32(SRBM_SOFT_RESET, SOFT_RESET_SDMA | SOFT_RESET_SDMA1);
> +       (void)RREG32(SRBM_SOFT_RESET);
> +       udelay(50);
> +       WREG32(SRBM_SOFT_RESET, 0);
> +       (void)RREG32(SRBM_SOFT_RESET);
>  }
>
>  /**
> --
> 2.1.0
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel


More information about the dri-devel mailing list