|
@@ -33,6 +33,7 @@
|
|
|
#include <linux/slab.h>
|
|
|
#include <drm/drmP.h>
|
|
|
#include <drm/radeon_drm.h>
|
|
|
+#include <drm/drm_cache.h>
|
|
|
#include "radeon.h"
|
|
|
#include "radeon_trace.h"
|
|
|
|
|
@@ -245,6 +246,12 @@ int radeon_bo_create(struct radeon_device *rdev,
|
|
|
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 | RADEON_GEM_GTT_UC);
|
|
|
+#else
|
|
|
+ /* For architectures that don't support WC memory,
|
|
|
+ * mask out the WC flag from the BO
|
|
|
+ */
|
|
|
+ if (!drm_arch_can_wc_memory())
|
|
|
+ bo->flags &= ~RADEON_GEM_GTT_WC;
|
|
|
#endif
|
|
|
|
|
|
radeon_ttm_placement_from_domain(bo, domain);
|