linux/drivers/gpu/drm/ttm
Serge Semin 8a08e50cee drm: Permit video-buffers writecombine mapping for MIPS
Since commit 4b050ba7a6 ("MIPS: pgtable.h: Implement the
pgprot_writecombine function for MIPS") and commit c4687b15a8 ("MIPS: Fix
definition of pgprot_writecombine()") write-combine vma mapping is
available to be used by kernel subsystems for MIPS. In particular the
uncached accelerated attribute is requested to be set by ioremap_wc()
method and by generic PCI memory pages/ranges mapping methods. The same
is done by the drm_io_prot()/ttm_io_prot() functions in case if
write-combine flag is set for vma's passed for mapping. But for some
reason the pgprot_writecombine() method calling is ifdefed to be a
platform-specific with MIPS system being marked as lacking of one. At the
very least it doesn't reflect the current MIPS platform implementation.
So in order to improve the DRM subsystem performance on MIPS with UCA
mapping enabled, we need to have pgprot_writecombine() called for buffers,
which need store operations being combined. In case if particular MIPS
chip doesn't support the UCA attribute, the mapping will fall back to
noncached.

Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Paul Burton <paul.burton@mips.com>
Cc: James Hogan <jhogan@kernel.org>
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Paul Burton <paul.burton@mips.com>
Signed-off-by: Vadim V. Vlasov <vadim.vlasov@t-platforms.ru>
Signed-off-by: Serge Semin <fancer.lancer@gmail.com>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20190423123122.32573-1-fancer.lancer@gmail.com
2019-06-18 15:41:33 -04:00
..
Makefile drm/ttm, drm/vmwgfx: Move the lock- and object functionality to the vmwgfx driver 2018-09-27 15:19:20 +02:00
ttm_agp_backend.c Add SPDX idenitifier and clarify license 2018-05-15 13:44:27 -05:00
ttm_bo_manager.c Add SPDX idenitifier and clarify license 2018-05-15 13:44:27 -05:00
ttm_bo_util.c drm: Permit video-buffers writecombine mapping for MIPS 2019-06-18 15:41:33 -04:00
ttm_bo_vm.c drm: Use the same mmap-range offset and size for GEM and TTM 2019-03-19 15:03:53 -05:00
ttm_bo.c drm/ttm: fix busy memory to fail other user v10 2019-05-31 10:39:34 -05:00
ttm_execbuf_util.c drm/ttm: Make LRU removal optional v2 2019-05-31 10:39:34 -05:00
ttm_memory.c drm pull request for 5.2 2019-05-08 21:35:19 -07:00
ttm_module.c Add SPDX idenitifier and clarify license 2018-05-15 13:44:27 -05:00
ttm_page_alloc_dma.c drm/ttm: remove dead codes 2018-08-27 11:11:02 -05:00
ttm_page_alloc.c drm/ttm: fix incrementing the page pointer for huge pages 2019-04-11 10:01:51 -05:00
ttm_tt.c drm/ttm: clean up non-x86 definitions on ttm_tt 2018-08-01 17:23:56 -05:00