Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/i915/gtt: call chipset flush directly

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

authored by

Daniel Vetter and committed by
Chris Wilson
40ce6575 23ed992a

+12 -6
+7
drivers/char/agp/intel-gtt.c
··· 1476 1476 } 1477 1477 EXPORT_SYMBOL(intel_gtt_get); 1478 1478 1479 + void intel_gtt_chipset_flush(void) 1480 + { 1481 + if (intel_private.driver->chipset_flush) 1482 + intel_private.driver->chipset_flush(); 1483 + } 1484 + EXPORT_SYMBOL(intel_gtt_chipset_flush); 1485 + 1479 1486 void intel_gmch_remove(struct pci_dev *pdev) 1480 1487 { 1481 1488 if (intel_private.pcidev)
+4 -5
drivers/gpu/drm/i915/i915_gem.c
··· 2192 2192 drm_i915_private_t *dev_priv = dev->dev_private; 2193 2193 2194 2194 if (flush_domains & I915_GEM_DOMAIN_CPU) 2195 - drm_agp_chipset_flush(dev); 2195 + intel_gtt_chipset_flush(); 2196 2196 2197 2197 if ((flush_domains | invalidate_domains) & I915_GEM_GPU_DOMAINS) { 2198 2198 if (flush_rings & RING_RENDER) ··· 2920 2920 static void 2921 2921 i915_gem_object_flush_cpu_write_domain(struct drm_gem_object *obj) 2922 2922 { 2923 - struct drm_device *dev = obj->dev; 2924 2923 uint32_t old_write_domain; 2925 2924 2926 2925 if (obj->write_domain != I915_GEM_DOMAIN_CPU) 2927 2926 return; 2928 2927 2929 2928 i915_gem_clflush_object(obj); 2930 - drm_agp_chipset_flush(dev); 2929 + intel_gtt_chipset_flush(); 2931 2930 old_write_domain = obj->write_domain; 2932 2931 obj->write_domain = 0; 2933 2932 ··· 5068 5069 page_cache_release(page); 5069 5070 } 5070 5071 } 5071 - drm_agp_chipset_flush(dev); 5072 + intel_gtt_chipset_flush(); 5072 5073 5073 5074 obj_priv->phys_obj->cur_obj = NULL; 5074 5075 obj_priv->phys_obj = NULL; ··· 5160 5161 return -EFAULT; 5161 5162 } 5162 5163 5163 - drm_agp_chipset_flush(dev); 5164 + intel_gtt_chipset_flush(); 5164 5165 return 0; 5165 5166 } 5166 5167
+1 -1
include/drm/intel-gtt.h
··· 13 13 unsigned int gtt_mappable_entries; 14 14 } *intel_gtt_get(void); 15 15 16 + void intel_gtt_chipset_flush(void); 16 17 17 18 /* Special gtt memory types */ 18 19 #define AGP_DCACHE_MEMORY 1 ··· 27 26 #define AGP_USER_CACHED_MEMORY_GFDT (1 << 3) 28 27 29 28 #endif 30 -