projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
58174ea
)
drm/i915/gtt: Control cache domain of dma_map_page() directly
author
Chris Wilson
<chris@chris-wilson.co.uk>
Fri, 6 Jul 2018 12:26:11 +0000
(13:26 +0100)
committer
Chris Wilson
<chris@chris-wilson.co.uk>
Fri, 6 Jul 2018 15:02:46 +0000
(16:02 +0100)
We already maually control the CPU cache for our page table directories,
so we can tell the dma mapper to skip doing it as well.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link:
https://patchwork.freedesktop.org/patch/msgid/20180706122611.4142-2-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gem_gtt.c
patch
|
blob
|
history
diff --git
a/drivers/gpu/drm/i915/i915_gem_gtt.c
b/drivers/gpu/drm/i915/i915_gem_gtt.c
index 92a06042e0bf7e385d22236a6c259adda1027cb7..e2793231ef49a8d6e9f4ef6d457865754aef165d 100644
(file)
--- a/
drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/
drivers/gpu/drm/i915/i915_gem_gtt.c
@@
-564,6
+564,7
@@
static int __setup_page_dma(struct i915_address_space *vm,
p->daddr = dma_map_page_attrs(vm->dma,
p->page, 0, PAGE_SIZE,
PCI_DMA_BIDIRECTIONAL,
+ DMA_ATTR_SKIP_CPU_SYNC |
DMA_ATTR_NO_WARN);
if (unlikely(dma_mapping_error(vm->dma, p->daddr))) {
vm_free_page(vm, p->page);
@@
-648,6
+649,7
@@
setup_scratch_page(struct i915_address_space *vm, gfp_t gfp)
addr = dma_map_page_attrs(vm->dma,
page, 0, size,
PCI_DMA_BIDIRECTIONAL,
+ DMA_ATTR_SKIP_CPU_SYNC |
DMA_ATTR_NO_WARN);
if (unlikely(dma_mapping_error(vm->dma, addr)))
goto free_page;