OSDN Git Service

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)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 11 Feb 2015 17:01:33 +0000 (12:01 -0500)
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
Cc: stable@vger.kernel.org
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>
drivers/gpu/drm/radeon/radeon_object.c

index 1d95577..43e0994 100644 (file)
@@ -238,6 +238,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);