drm/vmwgfx: Fix fencing on SVGAv3
authorZack Rusin <zackr@vmware.com>
Wed, 2 Mar 2022 15:24:22 +0000 (10:24 -0500)
committerZack Rusin <zackr@vmware.com>
Fri, 13 May 2022 14:29:13 +0000 (10:29 -0400)
commit1d6595b4cd47acfd824550f48f10b54a6f0e93ee
tree3b3303c7e175ae04583ccd5d2e70183d94cec81a
parent5005e9814698f47c5a3698fcc56c9f5e6f1d4644
drm/vmwgfx: Fix fencing on SVGAv3

Port of the vmwgfx to SVGAv3 lacked support for fencing. SVGAv3 removed
FIFO's and replaced them with command buffers and extra registers.
The initial version of SVGAv3 lacked support for most advanced features
(e.g. 3D) which made fences unnecessary. That is no longer the case,
especially as 3D support is being turned on.

Switch from FIFO commands and capabilities to command buffers and extra
registers to enable fences on SVGAv3.

Fixes: 2cd80dbd3551 ("drm/vmwgfx: Add basic support for SVGA3")
Signed-off-by: Zack Rusin <zackr@vmware.com>
Reviewed-by: Martin Krastev <krastevm@vmware.com>
Reviewed-by: Maaz Mombasawala <mombasawalam@vmware.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220302152426.885214-5-zack@kde.org
drivers/gpu/drm/vmwgfx/vmwgfx_cmd.c
drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
drivers/gpu/drm/vmwgfx/vmwgfx_irq.c
drivers/gpu/drm/vmwgfx/vmwgfx_kms.c