|
@@ -33,6 +33,7 @@
|
|
|
#include <linux/slab.h>
|
|
|
#include <drm/drmP.h>
|
|
|
#include <drm/amdgpu_drm.h>
|
|
|
+#include <drm/drm_cache.h>
|
|
|
#include "amdgpu.h"
|
|
|
#include "amdgpu_trace.h"
|
|
|
|
|
@@ -261,6 +262,13 @@ int amdgpu_bo_create_restricted(struct amdgpu_device *adev,
|
|
|
AMDGPU_GEM_DOMAIN_OA);
|
|
|
|
|
|
bo->flags = flags;
|
|
|
+
|
|
|
+ /* For architectures that don't support WC memory,
|
|
|
+ * mask out the WC flag from the BO
|
|
|
+ */
|
|
|
+ if (!drm_arch_can_wc_memory())
|
|
|
+ bo->flags &= ~AMDGPU_GEM_CREATE_CPU_GTT_USWC;
|
|
|
+
|
|
|
amdgpu_fill_placement_to_bo(bo, placement);
|
|
|
/* Kernel allocation are uninterruptible */
|
|
|
r = ttm_bo_init(&adev->mman.bdev, &bo->tbo, size, type,
|