From: Michel Dänzer <michel.daenzer@amd.com>
Date: Tue, 29 Jul 2014 09:47:20 +0000 (+0900)
Subject: drm/radeon: Use write-combined CPU mappings of ring buffers with PCIe
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=1490434f0da63afc6006411c8829c6a7935a4e7e;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git

drm/radeon: Use write-combined CPU mappings of ring buffers with PCIe

PCI GART doesn't support unsnooped access. AGP GART already uses
write-combined CPU mappings.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
---

diff --git a/drivers/gpu/drm/radeon/radeon_ring.c b/drivers/gpu/drm/radeon/radeon_ring.c
index 71439f0a3c26..7cfea7e4583f 100644
--- a/drivers/gpu/drm/radeon/radeon_ring.c
+++ b/drivers/gpu/drm/radeon/radeon_ring.c
@@ -640,7 +640,9 @@ int radeon_ring_init(struct radeon_device *rdev, struct radeon_ring *ring, unsig
 	/* Allocate ring buffer */
 	if (ring->ring_obj == NULL) {
 		r = radeon_bo_create(rdev, ring->ring_size, PAGE_SIZE, true,
-				     RADEON_GEM_DOMAIN_GTT, 0,
+				     RADEON_GEM_DOMAIN_GTT,
+				     (rdev->flags & RADEON_IS_PCIE) ?
+				     RADEON_GEM_GTT_WC : 0,
 				     NULL, &ring->ring_obj);
 		if (r) {
 			dev_err(rdev->dev, "(%d) ring create failed\n", r);