Quoting Matthew Auld (2019-02-14 14:57:24)
> + void *s;
> + struct page *page;
> +
> + for_each_sgt_page(page, iter, vma->pages) {
> + s = kmap_atomic(page);
These pages are not coherent, so missing the point of using UC/WC access
to get what the GPU saw and not what the CPU last speculated.
Typically, and historically, we would use clflush before after.
Just be careful not to use drm_clflush as that invokes wbinvd via
on_each_cpu and is therefore illegal.
Alternatively would be to kmap them as WC.
-Chris
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx