[PATCH V6 0/2] drm/vkms: Add virtual hardware module

From: Sumera Priyadarsini
Date: Wed Sep 01 2021 - 12:42:21 EST


This patchset adds support for emulating virtual hardware with VKMS.
The virtual hardware mode can be enabled by using the following command
while loading the module:
sudo modprobe vkms enable_virtual_hw=1

The first patch is prep work for adding virtual_hw mode and refactors
the plane composition in vkms by adding a helper function
vkms_composer_common() which can be used for both vblank mode
and virtual mode.

The second patch adds virtual hardware support as a module option.
It adds new atomic helper functions for the virtual mode
and uses the existing atomic helpers for vblank mode
This gives us two sets of drm_crtc_funcs and drm_crtc_helper_funcs
structs for both modes, making the code flow cleaner and
easier to debug.

This patchset has been tested with the igt tests- kms_writeback, kms_atomic,
kms_lease, kms_flip, kms_pipe_get_crc and preserves results except for
subtests related to crc reads and vertical blanking, in which case,
tests are skipped.

Sumera Priyadarsini (2):
drm/vkms: Refactor vkms_composer_worker() to prep for virtual_hw mode
drm/vkms: Add support for virtual hardware mode

drivers/gpu/drm/vkms/vkms_composer.c | 92 +++++++++++++++++----------
drivers/gpu/drm/vkms/vkms_crtc.c | 43 ++++++++++++-
drivers/gpu/drm/vkms/vkms_drv.c | 16 +++--
drivers/gpu/drm/vkms/vkms_drv.h | 4 ++
drivers/gpu/drm/vkms/vkms_writeback.c | 3 +-
5 files changed, 117 insertions(+), 41 deletions(-)

--
2.31.1