mbox series

[V5,0/2] drm/vkms: Add virtual hardware module

Message ID cover.1627831087.git.sylphrenadin@gmail.com (mailing list archive)
Headers show
Series drm/vkms: Add virtual hardware module | expand

Message

Sumera Priyadarsini Aug. 1, 2021, 4:01 p.m. UTC
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 modifies the existing atomic helpers for usage by the vblank mode
This gives us two sets of drm_crtc_helper_funcs struct 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 skips tests that rely on vertical
blanking.

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 | 93 ++++++++++++++++++----------
 drivers/gpu/drm/vkms/vkms_crtc.c     | 51 ++++++++++-----
 drivers/gpu/drm/vkms/vkms_drv.c      | 16 +++--
 drivers/gpu/drm/vkms/vkms_drv.h      |  4 ++
 4 files changed, 112 insertions(+), 52 deletions(-)