drm/radeon/kms: disable writeback on pre-R300 asics
authorAlex Deucher <alexander.deucher@amd.com>
Tue, 3 Jan 2012 14:48:38 +0000 (09:48 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 26 Jan 2012 01:24:35 +0000 (17:24 -0800)
commit 28eebb703e28bc455ba704adb1026f76649b768c upstream.

We often end up missing fences on older asics with
writeback enabled which leads to delays in the userspace
accel code, so just disable it by default on those asics.

Reported-by: Helge Deller <deller@gmx.de>
Reported-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/gpu/drm/radeon/radeon_device.c

index 440e6ecccc40054c5620e38db033da76ee3dd3aa..5d0c1236dd4cf76c0933d3679fee214839d78948 100644 (file)
@@ -223,8 +223,11 @@ int radeon_wb_init(struct radeon_device *rdev)
        if (radeon_no_wb == 1)
                rdev->wb.enabled = false;
        else {
-               /* often unreliable on AGP */
                if (rdev->flags & RADEON_IS_AGP) {
+                       /* often unreliable on AGP */
+                       rdev->wb.enabled = false;
+               } else if (rdev->family < CHIP_R300) {
+                       /* often unreliable on pre-r300 */
                        rdev->wb.enabled = false;
                } else {
                        rdev->wb.enabled = true;