1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/gpu/drm/vmwgfx
Zack Rusin e9fd436bb8 drm/vmwgfx: Disable coherent dumb buffers without 3d
Coherent surfaces make only sense if the host renders to them using
accelerated apis. Without 3d the entire content of dumb buffers stays
in the guest making all of the extra work they're doing to synchronize
between guest and host useless.

Configurations without 3d also tend to run with very low graphics
memory limits. The pinned console fb, mob cursors and graphical login
manager tend to run out of 16MB graphics memory that those guests use.

Fix it by making sure the coherent dumb buffers are only used on
configs with 3d enabled.

Signed-off-by: Zack Rusin <zack.rusin@broadcom.com>
Fixes: d6667f0ddf ("drm/vmwgfx: Fix handling of dumb buffers")
Reported-by: Christian Heusel <christian@heusel.eu>
Closes: https://lore.kernel.org/all/0d0330f3-2ac0-4cd5-8075-7f1cbaf72a8e@heusel.eu
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-4-zack.rusin@broadcom.com
Reviewed-by: Martin Krastev <martin.krastev@broadcom.com>
Reviewed-by: Maaz Mombasawala <maaz.mombasawala@broadcom.com>
Tested-by: Benjamin Coddington <bcodding@redhat.com>
2024-08-26 00:19:44 -04:00
..
device_include drm/vmwgfx: cleanup comments 2022-08-04 11:30:46 -04:00
Kconfig drm/vmwgfx: Fix missing HYPERVISOR_GUEST dependency 2024-06-17 11:56:54 +02:00
Makefile drm/vmwgfx: Implement virtual kms 2024-04-15 13:32:18 -04:00
ttm_object.c drm/vmwgfx: Remove unused code 2024-03-28 21:25:08 -04:00
ttm_object.h drm/vmwgfx: Make all surfaces shareable 2024-01-30 14:18:18 -05:00
vmw_surface_cache.h drm/vmwgfx: Fix handling of dumb buffers 2024-07-24 22:21:53 -04:00
vmwgfx_binding.c fix missing vmalloc.h includes 2024-04-25 20:55:49 -07:00
vmwgfx_binding.h drm/vmwgfx: add support for updating only offsets of constant buffers 2021-12-09 13:16:30 -05:00
vmwgfx_blit.c drm/vmwgfx: Fix prime with external buffers 2024-08-26 00:19:40 -04:00
vmwgfx_bo.c drm/vmwgfx: Prevent unmapping active read buffers 2024-08-26 00:19:40 -04:00
vmwgfx_bo.h drm/vmwgfx: Prevent unmapping active read buffers 2024-08-26 00:19:40 -04:00
vmwgfx_cmd.c fix missing vmalloc.h includes 2024-04-25 20:55:49 -07:00
vmwgfx_cmdbuf.c drm/vmwgfx: Stop using raw ttm_buffer_object's 2023-02-13 22:37:55 -05:00
vmwgfx_cmdbuf_res.c drm/vmwgfx: Remove vmwgfx_hashtab 2022-10-25 12:42:25 -04:00
vmwgfx_context.c drm/vmwgfx: Stop using raw ttm_buffer_object's 2023-02-13 22:37:55 -05:00
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 fix missing vmalloc.h includes 2024-04-25 20:55:49 -07:00
vmwgfx_devcaps.h drm/vmwgfx: Update device headers 2021-06-16 14:27:00 -04:00
vmwgfx_drv.c drm-misc-next for 6.11: 2024-06-21 10:30:31 +10:00
vmwgfx_drv.h drm/vmwgfx: Fix prime with external buffers 2024-08-26 00:19:40 -04:00
vmwgfx_execbuf.c fix missing vmalloc.h includes 2024-04-25 20:55:49 -07:00
vmwgfx_fence.c drm/vmwgfx: Fix a deadlock in dma buf fence polling 2024-07-24 22:21:36 -04:00
vmwgfx_fence.h drm/vmwgfx: remove vmw_wait_dma_fence 2022-02-02 16:15:37 +01:00
vmwgfx_gem.c drm/vmwgfx: Add basic support for external buffers 2024-07-24 22:21:53 -04:00
vmwgfx_gmr.c drm/ttm: merge ttm_bo_api.h and ttm_bo_driver.h v2 2022-12-06 12:54:14 +01:00
vmwgfx_gmrid_manager.c drm/vmwgfx: Standardize use of kibibytes when logging 2024-06-05 22:10:49 -04:00
vmwgfx_ioctl.c fix missing vmalloc.h includes 2024-04-25 20:55:49 -07:00
vmwgfx_irq.c drm/vmwgfx: Implement MSI/MSI-X support for IRQs 2022-03-11 13:29:37 -05:00
vmwgfx_kms.c drm/vmwgfx: Fix handling of dumb buffers 2024-07-24 22:21:53 -04:00
vmwgfx_kms.h drm/vmwgfx: Fix handling of dumb buffers 2024-07-24 22:21:53 -04:00
vmwgfx_ldu.c drm/vmwgfx: Fix handling of dumb buffers 2024-07-24 22:21:53 -04:00
vmwgfx_mksstat.h drm/vmwgfx: Add a mksstat counter for cotable resizes 2022-10-25 12:42:30 -04:00
vmwgfx_mob.c drm/vmwgfx: Stop using raw ttm_buffer_object's 2023-02-13 22:37:55 -05:00
vmwgfx_msg.c drm/vmwgfx: Use VMware hypercall API 2024-06-25 17:15:47 +02:00
vmwgfx_msg_arm64.h drm/vmwgfx: Use VMware hypercall API 2024-06-25 17:15:47 +02:00
vmwgfx_msg_x86.h drm/vmwgfx: Use VMware hypercall API 2024-06-25 17:15:47 +02:00
vmwgfx_overlay.c drm/vmwgfx: Fix overlay when using Screen Targets 2024-07-24 22:29:07 -04:00
vmwgfx_page_dirty.c drm/vmwgfx: Stop using raw ttm_buffer_object's 2023-02-13 22:37:55 -05:00
vmwgfx_prime.c drm/vmwgfx: Fix handling of dumb buffers 2024-07-24 22:21:53 -04:00
vmwgfx_reg.h drm/vmwgfx: Add basic support for SVGA3 2021-05-11 13:37:15 -04:00
vmwgfx_resource.c drm/vmwgfx: Fix handling of dumb buffers 2024-07-24 22:21:53 -04:00
vmwgfx_resource_priv.h drm/vmwgfx: Stop using raw ttm_buffer_object's 2023-02-13 22:37:55 -05:00
vmwgfx_scrn.c drm/vmwgfx: Fix handling of dumb buffers 2024-07-24 22:21:53 -04: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 drm/vmwgfx: cleanup comments 2022-08-04 11:30:46 -04:00
vmwgfx_so.c flexible-array transformations for 6.4-rc1 2023-04-26 08:25:57 -07:00
vmwgfx_so.h drm/vmwgfx: support SVGA_3D_CMD_DX_DEFINE_RASTERIZER_STATE_V2 command 2021-12-09 13:16:27 -05:00
vmwgfx_stdu.c drm/vmwgfx: Fix prime with external buffers 2024-08-26 00:19:40 -04:00
vmwgfx_streamoutput.c drm/vmwgfx: Stop using raw ttm_buffer_object's 2023-02-13 22:37:55 -05:00
vmwgfx_surface.c drm/vmwgfx: Disable coherent dumb buffers without 3d 2024-08-26 00:19:44 -04:00
vmwgfx_system_manager.c drm/ttm: merge ttm_bo_api.h and ttm_bo_driver.h v2 2022-12-06 12:54:14 +01:00
vmwgfx_ttm_buffer.c drm/vmwgfx: Fix prime import/export 2024-04-15 11:48:36 -04:00
vmwgfx_va.c drm/vmwgfx: Stop using raw ttm_buffer_object's 2023-02-13 22:37:55 -05:00
vmwgfx_validation.c drm/vmwgfx: Remove unused code 2024-03-28 21:25:08 -04:00
vmwgfx_validation.h drm/vmwgfx: Remove unused code 2024-03-28 21:25:08 -04:00
vmwgfx_vkms.c Merge drm/drm-fixes into drm-misc-fixes 2024-07-30 09:09:23 +02:00
vmwgfx_vkms.h drm/vmwgfx: Implement virtual crc generation 2024-04-15 13:32:45 -04:00