[PATCH] drm/radeon/uvd: use lower clocks on old UVD to boot v2
Alex Deucher
alexdeucher at gmail.com
Mon Apr 28 07:41:09 PDT 2014
On Mon, Apr 28, 2014 at 4:17 AM, Christian König
<deathsimple at vodafone.de> wrote:
> From: Christian König <christian.koenig at amd.com>
>
> Some RV7xx generation hardware crashes after you
> raise the UVD clocks for the first time. Try to
> avoid this by using the lower clocks to boot these.
>
> Workaround for: https://bugzilla.kernel.org/show_bug.cgi?id=71891
>
> v2: lower clocks on IB test as well
>
> Signed-off-by: Christian König <christian.koenig at amd.com>
> Cc: stable at vger.kernel.org
Any reason not to just always use lower clocks for the tests for all
asics? Either way:
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
> ---
> drivers/gpu/drm/radeon/uvd_v1_0.c | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/uvd_v1_0.c b/drivers/gpu/drm/radeon/uvd_v1_0.c
> index 0a243f0..be42c81 100644
> --- a/drivers/gpu/drm/radeon/uvd_v1_0.c
> +++ b/drivers/gpu/drm/radeon/uvd_v1_0.c
> @@ -83,7 +83,10 @@ int uvd_v1_0_init(struct radeon_device *rdev)
> int r;
>
> /* raise clocks while booting up the VCPU */
> - radeon_set_uvd_clocks(rdev, 53300, 40000);
> + if (rdev->family < CHIP_RV740)
> + radeon_set_uvd_clocks(rdev, 10000, 10000);
> + else
> + radeon_set_uvd_clocks(rdev, 53300, 40000);
>
> r = uvd_v1_0_start(rdev);
> if (r)
> @@ -407,7 +410,10 @@ int uvd_v1_0_ib_test(struct radeon_device *rdev, struct radeon_ring *ring)
> struct radeon_fence *fence = NULL;
> int r;
>
> - r = radeon_set_uvd_clocks(rdev, 53300, 40000);
> + if (rdev->family < CHIP_RV740)
> + r = radeon_set_uvd_clocks(rdev, 10000, 10000);
> + else
> + r = radeon_set_uvd_clocks(rdev, 53300, 40000);
> if (r) {
> DRM_ERROR("radeon: failed to raise UVD clocks (%d).\n", r);
> return r;
> --
> 1.9.1
>
> _______________________________________________
> 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