diff options
author | Oded Gabbay <oded.gabbay@gmail.com> | 2016-01-30 00:59:34 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2016-02-02 10:09:11 -0500 |
commit | a187f17f0e15a046aa5d7263b35df55230d92779 (patch) | |
tree | 7c49c3eacc539fd53b71b6fad14ba2c9f0f9f6c7 | |
parent | c5244987394648913ae1a03879c58058a2fc2cee (diff) |
drm/amdgpu: mask out WC from BO on unsupported arches
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c index a2a16acee34d..b8fbbd7699e4 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | |||
@@ -33,6 +33,7 @@ | |||
33 | #include <linux/slab.h> | 33 | #include <linux/slab.h> |
34 | #include <drm/drmP.h> | 34 | #include <drm/drmP.h> |
35 | #include <drm/amdgpu_drm.h> | 35 | #include <drm/amdgpu_drm.h> |
36 | #include <drm/drm_cache.h> | ||
36 | #include "amdgpu.h" | 37 | #include "amdgpu.h" |
37 | #include "amdgpu_trace.h" | 38 | #include "amdgpu_trace.h" |
38 | 39 | ||
@@ -261,6 +262,13 @@ int amdgpu_bo_create_restricted(struct amdgpu_device *adev, | |||
261 | AMDGPU_GEM_DOMAIN_OA); | 262 | AMDGPU_GEM_DOMAIN_OA); |
262 | 263 | ||
263 | bo->flags = flags; | 264 | bo->flags = flags; |
265 | |||
266 | /* For architectures that don't support WC memory, | ||
267 | * mask out the WC flag from the BO | ||
268 | */ | ||
269 | if (!drm_arch_can_wc_memory()) | ||
270 | bo->flags &= ~AMDGPU_GEM_CREATE_CPU_GTT_USWC; | ||
271 | |||
264 | amdgpu_fill_placement_to_bo(bo, placement); | 272 | amdgpu_fill_placement_to_bo(bo, placement); |
265 | /* Kernel allocation are uninterruptible */ | 273 | /* Kernel allocation are uninterruptible */ |
266 | r = ttm_bo_init(&adev->mman.bdev, &bo->tbo, size, type, | 274 | r = ttm_bo_init(&adev->mman.bdev, &bo->tbo, size, type, |