VKMS have a wide range of options. The aim of this series is to introduce many configfs attribute so VKMS can be used to test a wide range of configurations.
PATCH 1,7,10,13,23 are to expose human readable strings from drm core PATCH 2-4 are to expose human readable plane type in debugfs PATCH 5,6 plane attribute PATCH 8,9 plane rotation PATCH 11,12 plane color encoding PATCH 14,15 plane color range PATCH 16,17 plane format PATCH 18 properly use zpos PATCH 19,20 plane zpos PATCH 21,22 connector type PATCH 24,25 connector supported colorspace PATCH 26,27 connector EDID PATCH 28,29 preparatory work for dynamic connectors PATCH 30,31 dynamic connectors PS: Each pair of config/configfs patch are independant. I could technically create ≈10 different series, but there will be a lot of (trivial) conflicts between them. I will be happy to reordoer, split and partially apply this series to help the review process. PPS: Resend because it was rejected by dri-devel Signed-off-by: Louis Chauvet <[email protected]> --- Changes in v2: - PATCH 1: reorder includes (José) - PATCH 2: use name property instead of folder name (José) - PATCH 3: Fix default rotations (José) - PATCH 3,5,7,12: Add tests and extract validation for planes (José) - PATCH 3,5: Do not create color range/encoding properties if not set - PATCH 5,6,7,8: Set plural form for vkms_config_plane fields (José) - PATCH 4,6,8,13: Remove checking for default in supported (José) - PATCH 9: Add break in vkms_config_plane_add_format (José) - PATCH 12: fix zpos_enabled typo (José) - PATCH 13: fix documentation (José) - Add debug display (José) - PATCH 20: use drmm_kzalloc instead of kzalloc (José) - PATCH 22: simplify the code (José) - Link to v1: https://lore.kernel.org/r/[email protected] --- Louis Chauvet (32): drm/drm_mode_config: Add helper to get plane type name drm/vkms: Explicitly display plane type drm/vkms: Use enabled/disabled instead of 1/0 for debug drm/vkms: Explicitly display connector status drm/vkms: Introduce config for plane name drm/vkms: Introduce configfs for plane name drm/blend: Get a rotation name from it's bitfield drm/vkms: Introduce config for plane rotation drm/vkms: Introduce configfs for plane rotation drm/drm_color_mgmt: Expose drm_get_color_encoding_name drm/vkms: Introduce config for plane color encoding drm/vkms: Introduce configfs for plane color encoding drm/drm_color_mgmt: Expose drm_get_color_range_name drm/vkms: Introduce config for plane color range drm/vkms: Introduce configfs for plane color range drm/vkms: Introduce config for plane format drm/vkms: Introduce configfs for plane format drm/vkms: Properly render plane using their zpos drm/vkms: Introduce config for plane zpos property drm/vkms: Introduce configfs for plane zpos property drm/vkms: Introduce config for connector type drm/vkms: Introduce configfs for connector type drm/connector: Export drm_get_colorspace_name drm/vkms: Introduce config for connector supported colorspace drm/vkms: Introduce configfs for connector supported colorspace drm/vkms: Introduce config for connector EDID drm/vkms: Introduce configfs for connector EDID drm/vkms: Store the enabled/disabled status for connector drm/vkms: Rename vkms_connector_init to vkms_connector_init_static drm/vkms: Extract common code for connector initialization drm/vkms: Allow to hot-add connectors drm/vkms: Introduce configfs for dynamic connector creation Documentation/gpu/vkms.rst | 45 +- drivers/gpu/drm/drm_blend.c | 35 +- drivers/gpu/drm/drm_color_mgmt.c | 4 +- drivers/gpu/drm/drm_connector.c | 1 + drivers/gpu/drm/drm_crtc_internal.h | 6 - drivers/gpu/drm/drm_mode_config.c | 13 + drivers/gpu/drm/vkms/tests/Makefile | 1 + drivers/gpu/drm/vkms/tests/vkms_config_test.c | 247 +++++++ drivers/gpu/drm/vkms/tests/vkms_configfs_test.c | 102 +++ drivers/gpu/drm/vkms/vkms_config.c | 333 ++++++++- drivers/gpu/drm/vkms/vkms_config.h | 577 +++++++++++++++ drivers/gpu/drm/vkms/vkms_configfs.c | 939 +++++++++++++++++++++++- drivers/gpu/drm/vkms/vkms_configfs.h | 6 + drivers/gpu/drm/vkms/vkms_connector.c | 168 ++++- drivers/gpu/drm/vkms/vkms_connector.h | 38 +- drivers/gpu/drm/vkms/vkms_crtc.c | 11 +- drivers/gpu/drm/vkms/vkms_drv.h | 5 +- drivers/gpu/drm/vkms/vkms_output.c | 19 +- drivers/gpu/drm/vkms/vkms_plane.c | 79 +- include/drm/drm_blend.h | 2 + include/drm/drm_color_mgmt.h | 3 + include/drm/drm_mode_config.h | 3 + 22 files changed, 2534 insertions(+), 103 deletions(-) --- base-commit: 57fe8285dc4764171fa9eb1f153cae3bb313d6fc change-id: 20251017-vkms-all-config-bd0c2a01846f Best regards, -- Louis Chauvet <[email protected]>
