diff options
author | Michel Dänzer <michel.daenzer@amd.com> | 2014-09-19 07:22:10 +0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2014-09-23 01:24:26 +0400 |
commit | f55e03b975c230758c8f164347dfa10103f60e2c (patch) | |
tree | 4aaf9f9742ac37c6c44b43f69299ba720cb16693 /drivers/gpu/drm/radeon/r600.c | |
parent | 6cc2fda213d7a939e151ea1b5ec8033cce732c08 (diff) | |
download | linux-f55e03b975c230758c8f164347dfa10103f60e2c.tar.xz |
drm/radeon: Update IH_RB_RPTR register after each processed interrupt
This might decrease the chance of IH ring buffer overflows.
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/r600.c')
-rw-r--r-- | drivers/gpu/drm/radeon/r600.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c index 81f3236de1b4..ea5c9af722ef 100644 --- a/drivers/gpu/drm/radeon/r600.c +++ b/drivers/gpu/drm/radeon/r600.c @@ -4048,6 +4048,7 @@ restart_ih: /* wptr/rptr are in bytes! */ rptr += 16; rptr &= rdev->ih.ptr_mask; + WREG32(IH_RB_RPTR, rptr); } if (queue_hotplug) schedule_work(&rdev->hotplug_work); @@ -4056,7 +4057,6 @@ restart_ih: if (queue_thermal && rdev->pm.dpm_enabled) schedule_work(&rdev->pm.dpm.thermal.work); rdev->ih.rptr = rptr; - WREG32(IH_RB_RPTR, rdev->ih.rptr); atomic_set(&rdev->ih.lock, 0); /* make sure wptr hasn't changed while processing */ |