[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250121-google-config-fs-v3-0-8154a6945142@bootlin.com>
Date: Tue, 21 Jan 2025 15:34:44 +0100
From: Louis Chauvet <louis.chauvet@...tlin.com>
To: Rodrigo Siqueira <rodrigosiqueiramelo@...il.com>,
Melissa Wen <melissa.srw@...il.com>,
Maíra Canal <mairacanal@...eup.net>,
Haneen Mohammed <hamohammed.sa@...il.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>, Thomas Zimmermann <tzimmermann@...e.de>,
David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
Simona Vetter <simona.vetter@...ll.ch>
Cc: jose.exposito89@...il.com, dri-devel@...ts.freedesktop.org,
arthurgrillo@...eup.net, linux-kernel@...r.kernel.org,
jeremie.dautheribes@...tlin.com, miquel.raynal@...tlin.com,
thomas.petazzoni@...tlin.com, seanpaul@...gle.com, nicolejadeyee@...gle.com,
Louis Chauvet <louis.chauvet@...tlin.com>
Subject: [PATCH RFC v3 00/14] drm/vkms: ConfigFS interface
VKMS is manly used to test userspace program and its behavior. The current
implementation is not very configurable as you can only have one device,
with few specific planes.
This series aims to introduce a new interface, using ConfigFS, to create
and configure more devices. This will introduce:
- Device creation
- Plane creation
- Plane configuration (type, color encoding, color range, rotations)
- Encoder creation
- CRTC creation
- Linking between CRTC and planes/encoders
The proposition is:
/config/vkms
DEVICE_1
┣━ enable
┣━ writeback
┣━ planes
┃ ┣━ PLANE_1
┃ ┃ ┣━ type
┃ ┃ ┣━ supported_rotations
┃ ┃ ┣━ default_rotations
┃ ┃ ┣━ supported_formats
┃ ┃ ┗━ possible_crtcs
┃ ┃ ┗━ >> /config/vkms/DEVICE_1/crtc/CRTC_1
┃ ┣━ PLANE_2
┃ ┃ ┗━ ditto
┃ ┗━ PLANE_3
┃ ┗━ ditto
┃
┣━ encoders
┃ ┣━ ENCODER_1
┃ ┃ ┗━ possible_crtcs
┃ ┃ ┗━ >> /config/vkms/DEVICE_1/crtc/CRTC_1
┃ ┗━ ENCODER_2
┃ ┗━ ditto
┃
┗━ crtc
┗━ CRTC_1
This interface aims to be extendable (new property can easly be added in
objects) and easy to use (objects are created simply by creating folders,
and configured by writing files).
This series depends on
https://lore.kernel.org/all/20250121-google-remove-crtc-index-from-parameter-v3-0-cac00a3c3544@bootlin.com/
Signed-off-by: Louis Chauvet <louis.chauvet@...tlin.com>
---
Changes in v3:
- Rebased on drm-misc-next and
https://lore.kernel.org/all/20250121-google-remove-crtc-index-from-parameter-v3-0-cac00a3c3544@bootlin.com/
- Remove color encoding and color range configuration
- Link to v2: https://lore.kernel.org/r/20241122-google-config-fs-v2-0-4b7e6f183320@bootlin.com
Changes in v2:
- Added many new configuration (mainly connector)
- Link to v1: https://lore.kernel.org/r/20240814-google-config-fs-v1-0-8363181907a6@bootlin.com
---
Louis Chauvet (14):
drm/vkms: Add vkms_delete/create_device helper
drm/vkms: Cleanup configuration field on device destroy
drm/vkms: Introduce ConfigFS interface
drm/vkms: Introduce configfs for plane
drm/vkms: Introduce configfs for plane rotation
drm/vkms: Introduce configfs for crtc and encoder
drm/vkms: Introduce configfs for connectors
drm/vkms: Introduce configfs for connector type
drm/vkms: Introduce configfs for plane format
drm/vkms: Introduce configfs for device name
drm/vkms: Introduce configfs for connector status
drm/vkms: Introduce configfs for connector id
drm/vkms: Introduce configfs for connector EDID
drm/vkms: Introduce configfs for encoder type
drivers/gpu/drm/vkms/Kconfig | 1 +
drivers/gpu/drm/vkms/Makefile | 1 +
drivers/gpu/drm/vkms/vkms_config.c | 36 +
drivers/gpu/drm/vkms/vkms_config.h | 6 +-
drivers/gpu/drm/vkms/vkms_configfs.c | 1194 ++++++++++++++++++++++++++++++++++
drivers/gpu/drm/vkms/vkms_configfs.h | 128 ++++
drivers/gpu/drm/vkms/vkms_drv.c | 21 +-
drivers/gpu/drm/vkms/vkms_drv.h | 3 +
8 files changed, 1384 insertions(+), 6 deletions(-)
---
base-commit: 49a167c393b0ceb592b9d2e65cc4f46bcc707108
change-id: 20240521-google-config-fs-b935b66b8d7b
prerequisite-message-id: 20250121-google-remove-crtc-index-from-parameter-v3-0-cac00a3c3544@...tlin.com
prerequisite-patch-id: f4e26c103417f44bb47682d43e6550299e58b857
prerequisite-patch-id: aefc656e8bc9edfd5527971231b7db23b416a19a
prerequisite-patch-id: 5d4cef18db0f817bc0e9074987c725a9b7739ab0
prerequisite-patch-id: a74401787cc57fd29164dcea46aca9cee3ac50f8
prerequisite-patch-id: f0d5640738b5947ab84272c458a2f729a611ab0f
prerequisite-patch-id: 91ba55d575e4d85500c713079455b112695abecc
prerequisite-patch-id: d8210f842130e4d0b47ef25b4aa1ec41a7e53db3
prerequisite-patch-id: 83a4752516471b5152d5e2cb6b56d7ecaae70f66
prerequisite-patch-id: 5b6aaa13b3e61cee85de8739cc9fa9f0d86e4ac0
prerequisite-patch-id: a65a919c52e47b81af3adaf660f18b4a6f107492
prerequisite-patch-id: d85cd3d48810fa53bda9e97928249c1899898b24
prerequisite-patch-id: c47a619ac3b9b244375776aa03b6c19c32108cca
prerequisite-patch-id: ef3b0b41bcf9e770319b72d866cef880088bdff0
prerequisite-patch-id: d1d7c3323f1a0690f94220e9eb9cc4d6a28df112
prerequisite-patch-id: c87e20092e0a2f6d657837dbf1611b9dbf100b2c
prerequisite-patch-id: c12f46d01d578587d93d20e9d987394ab63a65ab
Best regards,
--
Louis Chauvet <louis.chauvet@...tlin.com>
Powered by blists - more mailing lists