From: Michel Dänzer <daen...@vmware.com>

The HDP read cache should only affect CPU reads from VRAM.

Signed-off-by: Michel Dänzer <daen...@vmware.com>
---
 drivers/gpu/drm/radeon/radeon_gem.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_gem.c 
b/drivers/gpu/drm/radeon/radeon_gem.c
index 60df2d7..188bf9b 100644
--- a/drivers/gpu/drm/radeon/radeon_gem.c
+++ b/drivers/gpu/drm/radeon/radeon_gem.c
@@ -125,13 +125,15 @@ int radeon_gem_set_domain(struct drm_gem_object *gobj,
                return 0;
        }
        if (domain == RADEON_GEM_DOMAIN_CPU) {
+               uint32_t cur_placement;
                /* Asking for cpu access wait for object idle */
-               r = radeon_bo_wait(robj, NULL, false);
+               r = radeon_bo_wait(robj, &cur_placement, false);
                if (r) {
                        printk(KERN_ERR "Failed to wait for object !\n");
                        return r;
                }
-               radeon_hdp_flush(robj->rdev);
+               if (cur_placement == TTM_PL_VRAM)
+                       radeon_hdp_flush(robj->rdev);
        }
        return 0;
 }
@@ -301,6 +303,7 @@ int radeon_gem_wait_idle_ioctl(struct drm_device *dev, void 
*data,
        struct drm_radeon_gem_wait_idle *args = data;
        struct drm_gem_object *gobj;
        struct radeon_bo *robj;
+       uint32_t cur_placement = 0;
        int r;
 
        gobj = drm_gem_object_lookup(dev, filp, args->handle);
@@ -308,11 +311,12 @@ int radeon_gem_wait_idle_ioctl(struct drm_device *dev, 
void *data,
                return -EINVAL;
        }
        robj = gobj->driver_private;
-       r = radeon_bo_wait(robj, NULL, false);
+       r = radeon_bo_wait(robj, &cur_placement, false);
        mutex_lock(&dev->struct_mutex);
        drm_gem_object_unreference(gobj);
        mutex_unlock(&dev->struct_mutex);
-       radeon_hdp_flush(robj->rdev);
+       if (cur_placement == TTM_PL_VRAM)
+               radeon_hdp_flush(robj->rdev);
        return r;
 }
 
-- 
1.6.5.7


------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to