mbox series

[0/2] drm/vkms: Enable Virtual Hardware support

Message ID 20230509150501.81875-1-mcanal@igalia.com (mailing list archive)
Headers show
Series drm/vkms: Enable Virtual Hardware support | expand

Message

Maíra Canal May 9, 2023, 3:04 p.m. UTC
This patchset is a rebase of a series sent a while ago that intended
to enable virtual hardware support on the VKMS. The original patchset,
developed by Sumera Priyadarsini, is available on [1].

From the original patchset, not much has changed. It was essentially
just rebasing the code to the new VKMS composition structure.

The virtual hardware mode can be enabled by using the following
command:
    modprobe vkms enable_virtual_hw=1

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

The second patch adds the virtual hardware support as a module
parameter option. It adds a 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 following IGT tests:
kms_writeback, kms_atomic, kms_lease, and kms_flip and preserves
results, except for subtests related to CRC reads and vertical
blanking. In which case, tests skip or fail.

[1] https://patchwork.freedesktop.org/series/93277/

Best Regards,
- Maíra Canal

Maíra Canal (1):
  drm/vkms: Refactor vkms_composer_worker() as preparation for virtual HW

Sumera Priyadarsini (1):
  drm/vkms: Add support for Virtual Hardware mode

 drivers/gpu/drm/vkms/vkms_composer.c  | 55 ++++++++++++++++++++-------
 drivers/gpu/drm/vkms/vkms_crtc.c      | 38 ++++++++++++++++--
 drivers/gpu/drm/vkms/vkms_drv.c       | 16 ++++++--
 drivers/gpu/drm/vkms/vkms_drv.h       |  2 +
 drivers/gpu/drm/vkms/vkms_writeback.c |  8 +++-
 5 files changed, 97 insertions(+), 22 deletions(-)