linux-imx/drivers/gpu/drm/vmwgfx
Zack Rusin 9a9716bbbf drm/vmwgfx: Fix prime with external buffers
commit 50f1199250 upstream.

Make sure that for external buffers mapping goes through the dma_buf
interface instead of trying to access pages directly.

External buffers might not provide direct access to readable/writable
pages so to make sure the bo's created from external dma_bufs can be
read dma_buf interface has to be used.

Fixes crashes in IGT's kms_prime with vgem. Regular desktop usage won't
trigger this due to the fact that virtual machines will not have
multiple GPUs but it enables better test coverage in IGT.

Signed-off-by: Zack Rusin <zack.rusin@broadcom.com>
Fixes: b32233acce ("drm/vmwgfx: Fix prime import/export")
Cc: <stable@vger.kernel.org> # v6.6+
Cc: Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
Cc: dri-devel@lists.freedesktop.org
Cc: <stable@vger.kernel.org> # v6.9+
Link: https://patchwork.freedesktop.org/patch/msgid/20240816183332.31961-3-zack.rusin@broadcom.com
Reviewed-by: Martin Krastev <martin.krastev@broadcom.com>
Reviewed-by: Maaz Mombasawala <maaz.mombasawala@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-09-04 13:28:22 +02:00
..
device_include
Kconfig drm/vmwgfx: Fix missing HYPERVISOR_GUEST dependency 2024-07-25 09:50:47 +02:00
Makefile
ttm_object.c
ttm_object.h
vmw_surface_cache.h
vmwgfx_binding.c
vmwgfx_binding.h
vmwgfx_blit.c drm/vmwgfx: Fix prime with external buffers 2024-09-04 13:28:22 +02:00
vmwgfx_bo.c drm/vmwgfx: Fix Legacy Display Unit 2024-05-17 12:02:34 +02:00
vmwgfx_bo.h drm/vmwgfx: Fix prime import/export 2024-04-27 17:11:42 +02:00
vmwgfx_cmd.c
vmwgfx_cmdbuf_res.c
vmwgfx_cmdbuf.c
vmwgfx_context.c
vmwgfx_cotable.c drm/vmwgfx: Keep a gem reference to user bos in surfaces 2023-10-09 15:53:30 -04:00
vmwgfx_devcaps.c
vmwgfx_devcaps.h
vmwgfx_drv.c drm/vmwgfx: 3D disabled should not effect STDU memory limits 2024-06-21 14:38:31 +02:00
vmwgfx_drv.h drm/vmwgfx: Fix prime with external buffers 2024-09-04 13:28:22 +02:00
vmwgfx_execbuf.c drm/vmwgfx: Fix possible null pointer derefence with invalid contexts 2024-04-03 15:28:16 +02:00
vmwgfx_fence.c drm/vmwgfx: Fix a deadlock in dma buf fence polling 2024-08-11 12:47:25 +02:00
vmwgfx_fence.h
vmwgfx_gem.c drm/vmwgfx: Fix prime import/export 2024-04-27 17:11:42 +02:00
vmwgfx_gmr.c
vmwgfx_gmrid_manager.c drm/vmwgfx: fix a memleak in vmw_gmrid_man_get_node 2024-03-26 18:19:42 -04:00
vmwgfx_ioctl.c
vmwgfx_irq.c
vmwgfx_kms.c drm/vmwgfx: Don't memcmp equivalent pointers 2024-06-21 14:38:31 +02:00
vmwgfx_kms.h drm/vmwgfx: Refactor drm connector probing for display modes 2024-06-21 14:38:31 +02:00
vmwgfx_ldu.c drm/vmwgfx: Refactor drm connector probing for display modes 2024-06-21 14:38:31 +02:00
vmwgfx_mksstat.h
vmwgfx_mob.c
vmwgfx_msg_arm64.h
vmwgfx_msg_x86.h drm/vmwgfx: Add unwind hints around RBP clobber 2023-06-07 10:03:12 -07:00
vmwgfx_msg.c drm/vmwgfx: Print errors when running on broken/unsupported configs 2023-04-11 12:29:30 -04:00
vmwgfx_overlay.c drm/vmwgfx: Fix overlay when using Screen Targets 2024-08-11 12:47:18 +02:00
vmwgfx_page_dirty.c
vmwgfx_prime.c drm/vmwgfx: Fix prime import/export 2024-04-27 17:11:42 +02:00
vmwgfx_reg.h
vmwgfx_resource_priv.h
vmwgfx_resource.c drm/vmwgfx: Keep a gem reference to user bos in surfaces 2023-10-09 15:53:30 -04:00
vmwgfx_scrn.c drm/vmwgfx: Refactor drm connector probing for display modes 2024-06-21 14:38:31 +02:00
vmwgfx_shader.c drm/vmwgfx: Keep a gem reference to user bos in surfaces 2023-10-09 15:53:30 -04:00
vmwgfx_simple_resource.c
vmwgfx_so.c flexible-array transformations for 6.4-rc1 2023-04-26 08:25:57 -07:00
vmwgfx_so.h
vmwgfx_stdu.c drm/vmwgfx: Fix prime with external buffers 2024-09-04 13:28:22 +02:00
vmwgfx_streamoutput.c
vmwgfx_surface.c drm: vmwgfx_surface.c: copy user-array safely 2023-11-28 17:19:40 +00:00
vmwgfx_system_manager.c
vmwgfx_ttm_buffer.c drm/vmwgfx: Fix prime import/export 2024-04-27 17:11:42 +02:00
vmwgfx_ttm_glue.c
vmwgfx_va.c
vmwgfx_validation.c
vmwgfx_validation.h