Hi everyone,
This series allow to configure one or more VKMS instances without having
to reload the driver using configfs.
The process of configuring a VKMS device is documented in "vkms.rst".
In addition, I created a CLI tool to easily control VKMS instances from the
command line: vkmsctl [1].
The series is structured in 3 blocks:
- Patches 1..11: Basic device configuration. For simplicity, I kept the
available options as minimal as possible.
- Patches 12 and 13: New option to skip the default device creation and to-do
cleanup.
- Patches 14, 15 and 16: Allow to hot-plug and unplug connectors. This is not
part of the minimal set of options, but I included in this series so it can
be used as a template/example of how new configurations can be added.
Finally, the code is thoroughly tested by a collection of IGT tests [2].
Best wishes,
José Expósito
[1] https://github.com/JoseExposito/vkmsctl
[2]
https://lore.kernel.org/igt-dev/[email protected]/
Changes in v7:
- Rebased on top of drm-misc-next
- Fixed 2 documentation issues (thanks Harry!)
- Added reviewed-by Harry and Luca, thanks a lot!
- Link to v6:
https://lore.kernel.org/dri-devel/[email protected]/
Changes in v6:
- No code changes, rebased on top of drm-misc-next
- Added Tested-by: Mark Yacoub, who merged the series into the Android tree
(thanks!)
https://lore.kernel.org/dri-devel/cac0gqy6zh8h5aonh31ck3dp6c3yytftrjj47obu6xsxsvxm...@mail.gmail.com/
- Added a link in the cover letter the CLI to configure VKMS: vkmsctl
- CCed more people to try to get the series merged
- Link to v5:
https://lore.kernel.org/dri-devel/[email protected]/
Changes in v5:
- No code changes, rebased on top of drm-misc-next
- Added Reviewed-by tags, thanks Louis!
- Link to v4:
https://lore.kernel.org/dri-devel/[email protected]/
Changes in v4:
- No code changes, rebased on top of drm-misc-next
- Since Louis and I worked on this together, set him as the author of some of
the patches and me as co-developed-by to reflect this joint effort.
- Link to v3:
https://lore.kernel.org/all/[email protected]/
Changes in v3:
- Applied review comments by Louis Chauvet: (thanks!!)
- Use scoped_guard() instead of guard(mutex)(...)
- Fix a use-after-free error in the connector hot-plug code
- Rebased on top of drm-misc-next
- Link to v2:
https://lore.kernel.org/all/[email protected]/
Changes in v2:
- Applied review comments by Louis Chauvet:
- Use guard(mutex)(...) instead of lock/unlock
- Return -EBUSY when trying to modify a enabled device
- Move the connector hot-plug related patches to the end
- Rebased on top of drm-misc-next
- Link to v1:
https://lore.kernel.org/dri-devel/[email protected]/T/
José Expósito (6):
drm/vkms: Expose device creation and destruction
drm/vkms: Allow to configure the default device creation
drm/vkms: Remove completed task from the TODO list
drm/vkms: Allow to configure connector status
drm/vkms: Allow to update the connector status
drm/vkms: Allow to configure connector status via configfs
Louis Chauvet (10):
drm/vkms: Add and remove VKMS instances via configfs
drm/vkms: Allow to configure multiple planes via configfs
drm/vkms: Allow to configure the plane type via configfs
drm/vkms: Allow to configure multiple CRTCs via configfs
drm/vkms: Allow to configure CRTC writeback support via configfs
drm/vkms: Allow to attach planes and CRTCs via configfs
drm/vkms: Allow to configure multiple encoders via configfs
drm/vkms: Allow to attach encoders and CRTCs via configfs
drm/vkms: Allow to configure multiple connectors via configfs
drm/vkms: Allow to attach connectors and encoders via configfs
Documentation/gpu/vkms.rst | 100 ++-
drivers/gpu/drm/vkms/Kconfig | 1 +
drivers/gpu/drm/vkms/Makefile | 3 +-
drivers/gpu/drm/vkms/tests/vkms_config_test.c | 24 +
drivers/gpu/drm/vkms/vkms_config.c | 8 +-
drivers/gpu/drm/vkms/vkms_config.h | 26 +
drivers/gpu/drm/vkms/vkms_configfs.c | 833 ++++++++++++++++++
drivers/gpu/drm/vkms/vkms_configfs.h | 8 +
drivers/gpu/drm/vkms/vkms_connector.c | 35 +
drivers/gpu/drm/vkms/vkms_connector.h | 9 +
drivers/gpu/drm/vkms/vkms_drv.c | 18 +-
drivers/gpu/drm/vkms/vkms_drv.h | 20 +
12 files changed, 1072 insertions(+), 13 deletions(-)
create mode 100644 drivers/gpu/drm/vkms/vkms_configfs.c
create mode 100644 drivers/gpu/drm/vkms/vkms_configfs.h
base-commit: b291e4f1a4951204ce858cd01801291d34962a33
--
2.51.0