i915/drm: Remove two redundant agp_chipset_flushes
authorOwain G. Ainsworth <oga@openbsd.org>
Fri, 20 Feb 2009 08:30:19 +0000 (08:30 +0000)
committerEric Anholt <eric@anholt.net>
Fri, 27 Mar 2009 22:12:07 +0000 (15:12 -0700)
agp_chipset_flush() is for flushing the intel GMCH write cache via the
IFP, these two uses are for when we're getting the object into the cpu
READ domain, and thus should not be needed. This confused me when I was
getting my head around the code.

With thanks to airlied for helping me check my mental picture of how the
flushes and clflushes are supposed to be used.

Signed-off-by: Owain G. Ainsworth <oga@openbsd.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
drivers/gpu/drm/i915/i915_gem.c

index f135c903305f6ffec6c4b915533c53d507f0f1eb..b52cba0f16d2c6339fd875adeecc1f46078328b4 100644 (file)
@@ -2381,7 +2381,6 @@ i915_gem_object_set_to_gtt_domain(struct drm_gem_object *obj, int write)
 static int
 i915_gem_object_set_to_cpu_domain(struct drm_gem_object *obj, int write)
 {
-       struct drm_device *dev = obj->dev;
        int ret;
 
        i915_gem_object_flush_gpu_write_domain(obj);
@@ -2400,7 +2399,6 @@ i915_gem_object_set_to_cpu_domain(struct drm_gem_object *obj, int write)
        /* Flush the CPU cache if it's still invalid. */
        if ((obj->read_domains & I915_GEM_DOMAIN_CPU) == 0) {
                i915_gem_clflush_object(obj);
-               drm_agp_chipset_flush(dev);
 
                obj->read_domains |= I915_GEM_DOMAIN_CPU;
        }
@@ -2612,7 +2610,6 @@ i915_gem_object_set_to_gpu_domain(struct drm_gem_object *obj)
 static void
 i915_gem_object_set_to_full_cpu_read_domain(struct drm_gem_object *obj)
 {
-       struct drm_device *dev = obj->dev;
        struct drm_i915_gem_object *obj_priv = obj->driver_private;
 
        if (!obj_priv->page_cpu_valid)
@@ -2628,7 +2625,6 @@ i915_gem_object_set_to_full_cpu_read_domain(struct drm_gem_object *obj)
                                continue;
                        drm_clflush_pages(obj_priv->pages + i, 1);
                }
-               drm_agp_chipset_flush(dev);
        }
 
        /* Free the page_cpu_valid mappings which are now stale, whether