hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
....@@ -1080,7 +1080,7 @@
10801080 struct i915_ggtt *ggtt = cache_to_ggtt(cache);
10811081
10821082 intel_gt_flush_ggtt_writes(ggtt->vm.gt);
1083
- io_mapping_unmap_local((void __iomem *)vaddr);
1083
+ io_mapping_unmap_atomic((void __iomem *)vaddr);
10841084
10851085 if (drm_mm_node_allocated(&cache->node)) {
10861086 ggtt->vm.clear_range(&ggtt->vm,
....@@ -1146,7 +1146,7 @@
11461146
11471147 if (cache->vaddr) {
11481148 intel_gt_flush_ggtt_writes(ggtt->vm.gt);
1149
- io_mapping_unmap_local((void __force __iomem *) unmask_page(cache->vaddr));
1149
+ io_mapping_unmap_atomic((void __force __iomem *) unmask_page(cache->vaddr));
11501150 } else {
11511151 struct i915_vma *vma;
11521152 int err;
....@@ -1194,7 +1194,8 @@
11941194 offset += page << PAGE_SHIFT;
11951195 }
11961196
1197
- vaddr = (void __force *)io_mapping_map_local_wc(&ggtt->iomap, offset);
1197
+ vaddr = (void __force *)io_mapping_map_atomic_wc(&ggtt->iomap,
1198
+ offset);
11981199 cache->page = page;
11991200 cache->vaddr = (unsigned long)vaddr;
12001201