linux_dsm_epyc7002/drivers/gpu/drm/vmwgfx
Dave Airlie 0a6cad5df5 Merge branch 'vmwgfx-coherent' of git://people.freedesktop.org/~thomash/linux into drm-next
Graphics APIs like OpenGL 4.4 and Vulkan require the graphics driver
to provide coherent graphics memory, meaning that the GPU sees any
content written to the coherent memory on the next GPU operation that
touches that memory, and the CPU sees any content written by the GPU
to that memory immediately after any fence object trailing the GPU
operation is signaled.

Paravirtual drivers that otherwise require explicit synchronization
needs to do this by hooking up dirty tracking to pagefault handlers
and buffer object validation.

Provide mm helpers needed for this and that also allow for huge pmd-
and pud entries (patch 1-3), and the associated vmwgfx code (patch 4-7).

The code has been tested and exercised by a tailored version of mesa
where we disable all explicit synchronization and assume graphics memory
is coherent. The performance loss varies of course; a typical number is
around 5%.

Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Thomas Hellstrom <thomas_os@shipmail.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20191113131639.4653-1-thomas_os@shipmail.org
2019-11-28 14:33:01 +10:00
..
device_include drm/vmwgfx: Add surface dirty-tracking callbacks 2019-11-06 15:45:32 +01:00
Kconfig drm/vmwgfx: Implement an infrastructure for write-coherent resources 2019-11-06 13:04:54 +01:00
Makefile drm/vmwgfx: Implement an infrastructure for write-coherent resources 2019-11-06 13:04:54 +01:00
ttm_lock.c drm/vmwgfx: Kill unneeded legacy security features 2019-08-15 08:39:27 +02:00
ttm_lock.h drm/vmwgfx: drop use of drmP.h in header files 2019-08-15 08:40:04 +02:00
ttm_object.c drm/vmwgfx: Fix user space handle equal to zero 2019-05-21 10:23:09 +02:00
ttm_object.h drm/vmwgfx: drop use of drmP.h in header files 2019-08-15 08:40:04 +02:00
vmwgfx_binding.c drm/vmwgfx: Use preprocessor macro for FIFO allocation 2019-04-08 10:29:05 -07:00
vmwgfx_binding.h drm/vmwgfx: drop use of drmP.h in header files 2019-08-15 08:40:04 +02:00
vmwgfx_blit.c dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
vmwgfx_bo.c drm/vmwgfx: Use an RBtree instead of linked list for MOB resources 2019-11-06 13:30:27 +01:00
vmwgfx_cmdbuf_res.c
vmwgfx_cmdbuf.c drm/vmwgfx: drop use of drmP.h in header files 2019-08-15 08:40:04 +02:00
vmwgfx_context.c drm/vmwgfx: Assign eviction priorities to resources 2019-08-15 08:40:05 +02:00
vmwgfx_cotable.c drm-misc-next for 5.4: 2019-08-21 16:44:41 +10:00
vmwgfx_drv.c drm/ttm, drm/vmwgfx: Use a configuration option for the TTM dma page pool 2019-11-14 08:41:23 +01:00
vmwgfx_drv.h drm/vmwgfx: Add surface dirty-tracking callbacks 2019-11-06 15:45:32 +01:00
vmwgfx_execbuf.c drm/vmwgfx: Implement an infrastructure for write-coherent resources 2019-11-06 13:04:54 +01:00
vmwgfx_fb.c drm/vmwgfx: drop reminaing users of drmP.h 2019-08-15 08:40:04 +02:00
vmwgfx_fence.c drm-misc-next for 5.4: 2019-08-21 16:44:41 +10:00
vmwgfx_fence.h drm/vmwgfx: drop use of drmP.h in header files 2019-08-15 08:40:04 +02:00
vmwgfx_fifo.c drm/vmwgfx: drop reminaing users of drmP.h 2019-08-15 08:40:04 +02:00
vmwgfx_gmr.c drm/vmwgfx: drop reminaing users of drmP.h 2019-08-15 08:40:04 +02:00
vmwgfx_gmrid_manager.c
vmwgfx_ioctl.c drm/vmwgfx: Add a new define for vmwgfx user-space debugging 2019-04-08 10:29:04 -07:00
vmwgfx_irq.c drm/vmwgfx: drop reminaing users of drmP.h 2019-08-15 08:40:04 +02:00
vmwgfx_kms.c drm/vmwgfx: drop use of drmP.h in header files 2019-08-15 08:40:04 +02:00
vmwgfx_kms.h drm/vmwgfx: drop use of drmP.h in header files 2019-08-15 08:40:04 +02:00
vmwgfx_ldu.c drm/vmwgfx: drop use of drmP.h in header files 2019-08-15 08:40:04 +02:00
vmwgfx_marker.c
vmwgfx_mob.c drm/vmwgfx: drop reminaing users of drmP.h 2019-08-15 08:40:04 +02:00
vmwgfx_msg.c drm main pull for 5.4-rc1 2019-09-19 16:24:24 -07:00
vmwgfx_msg.h drm/vmwgfx: Update the backdoor call with support for new instructions 2019-08-28 13:36:46 +02:00
vmwgfx_overlay.c drm/vmwgfx: drop reminaing users of drmP.h 2019-08-15 08:40:04 +02:00
vmwgfx_page_dirty.c drm/vmwgfx: Implement an infrastructure for read-coherent resources 2019-11-06 13:30:27 +01:00
vmwgfx_prime.c
vmwgfx_reg.h
vmwgfx_resource_priv.h drm/vmwgfx: Implement an infrastructure for read-coherent resources 2019-11-06 13:30:27 +01:00
vmwgfx_resource.c drm/vmwgfx: Implement an infrastructure for read-coherent resources 2019-11-06 13:30:27 +01:00
vmwgfx_scrn.c drm/vmwgfx: drop use of drmP.h in header files 2019-08-15 08:40:04 +02:00
vmwgfx_shader.c drm/vmwgfx: Assign eviction priorities to resources 2019-08-15 08:40:05 +02:00
vmwgfx_simple_resource.c drm/vmwgfx: Add a new define for vmwgfx user-space debugging 2019-04-08 10:29:04 -07:00
vmwgfx_so.c drm/vmwgfx: Use preprocessor macro for FIFO allocation 2019-04-08 10:29:05 -07:00
vmwgfx_so.h
vmwgfx_stdu.c drm/vmwgfx: drop use of drmP.h in header files 2019-08-15 08:40:04 +02:00
vmwgfx_surface.c Merge branch 'vmwgfx-coherent' of git://people.freedesktop.org/~thomash/linux into drm-next 2019-11-28 14:33:01 +10:00
vmwgfx_ttm_buffer.c drm/vmwgfx: Honor the sg list segment size limitation 2019-06-11 17:00:23 +02:00
vmwgfx_ttm_glue.c drm/vmwgfx: Implement an infrastructure for write-coherent resources 2019-11-06 13:04:54 +01:00
vmwgfx_va.c
vmwgfx_validation.c drm/vmwgfx: Implement an infrastructure for read-coherent resources 2019-11-06 13:30:27 +01:00
vmwgfx_validation.h drm/vmwgfx: Implement an infrastructure for write-coherent resources 2019-11-06 13:04:54 +01:00