drm/radeon: Don't try to enable write-combining without PAT
authorMichel Dänzer <michel.daenzer@amd.com>
Wed, 4 Feb 2015 01:19:51 +0000 (10:19 +0900)
committerSasha Levin <sasha.levin@oracle.com>
Sat, 14 Mar 2015 19:37:17 +0000 (15:37 -0400)
commit a53fa43873b88bad15a2eb1f01dc5efa689625ce upstream.

Doing so can cause things to become slow.

Print a warning at compile time and an informative message at runtime in
that case.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88758
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
drivers/gpu/drm/radeon/radeon_object.c

index 4c0d786d5c7a2a00fde32feeb81370574e494800..194f6245c3793b8007182b061c32475f855a623f 100644 (file)
@@ -218,6 +218,18 @@ int radeon_bo_create(struct radeon_device *rdev,
         * See https://bugs.freedesktop.org/show_bug.cgi?id=84627
         */
        bo->flags &= ~RADEON_GEM_GTT_WC;
+#elif defined(CONFIG_X86) && !defined(CONFIG_X86_PAT)
+       /* Don't try to enable write-combining when it can't work, or things
+        * may be slow
+        * See https://bugs.freedesktop.org/show_bug.cgi?id=88758
+        */
+
+#warning Please enable CONFIG_MTRR and CONFIG_X86_PAT for better performance \
+        thanks to write-combining
+
+       DRM_INFO_ONCE("Please enable CONFIG_MTRR and CONFIG_X86_PAT for "
+                     "better performance thanks to write-combining\n");
+       bo->flags &= ~RADEON_GEM_GTT_WC;
 #endif
 
        radeon_ttm_placement_from_domain(bo, domain);