[PATCH v3 00/16] drm/vkms: Introduce detailed configuration

Louis Chauvet louis.chauvet at bootlin.com
Tue Jan 21 10:55:24 UTC 2025


The current code is not flexible to configure the VKMS device. In
preparation for ConfigFS interface introduce few structure that can be
used to configure the device creation: `vkms_config`.

This part is splitted from the ConfigFS implementation itself to avoid
mixing two complex interfaces.

The vkms_config structure will allows the configuration of:
- planes
    - name
    - possible_crtcs
    - supported_rotations
    - default_rotation
    - type
    - format
- crtcs
    - name
    - possible_planes [automatically filled by helpers]
    - possible_encoders [automatically filled by helpers]
- encoders
    - name
    - type
    - possible_crtcs
- connectors:
    - type
    - status
    - EDID

Signed-off-by: Louis Chauvet <louis.chauvet at bootlin.com>
---
Changes in v3:
- Remove the plane color encoding/range and not yet supported formats so 
  it does not have any dependencies
- Created a helper to get config for a connector
- Rebased on drm-misc-next
- Link to v2: https://lore.kernel.org/r/20241122-google-remove-crtc-index-from-parameter-v2-0-81540742535a@bootlin.com

Changes in v2:
- Rebased on drm-misc-next
- Added support for many new configuration
- Link to v1: https://lore.kernel.org/r/20240814-google-remove-crtc-index-from-parameter-v1-0-6e179abf9fd4@bootlin.com

---
Louis Chauvet (16):
      drm/vkms: Extract vkms_config header
      drm/vkms: Add a validation function for vkms configuration
      drm/vkms: Move default_config creation to its own function
      drm/vkms: Introduce config for plane
      drm/vkms: Introduce config for plane name
      drm/vkms: Introduce config for plane rotation
      drm/vkms: Introduce config for CRTCs and encoders
      drm/vkms: Introduce config for encoder name
      drm/vkms: Introduce config for CRTC name
      drm/vkms: Add test for config structure
      drm/vkms: Introduce config for connector
      drm/vkms: Introduce config for connector type
      drm/vkms: Introduce config for plane format
      drm/vkms: Introduce config for connector status
      drm/vkms: Introduce config for connector EDID
      drm/vkms: Introduce config for encoder type

 drivers/gpu/drm/vkms/Makefile                 |   3 +-
 drivers/gpu/drm/vkms/tests/Makefile           |   3 +
 drivers/gpu/drm/vkms/tests/vkms_config_test.c | 137 +++++++
 drivers/gpu/drm/vkms/vkms_config.c            | 556 ++++++++++++++++++++++++++
 drivers/gpu/drm/vkms/vkms_config.h            | 237 +++++++++++
 drivers/gpu/drm/vkms/vkms_crtc.c              |  10 +-
 drivers/gpu/drm/vkms/vkms_drv.c               |  42 +-
 drivers/gpu/drm/vkms/vkms_drv.h               |  25 +-
 drivers/gpu/drm/vkms/vkms_output.c            | 192 +++++----
 drivers/gpu/drm/vkms/vkms_plane.c             |  21 +-
 10 files changed, 1088 insertions(+), 138 deletions(-)
---
base-commit: 49a167c393b0ceb592b9d2e65cc4f46bcc707108
change-id: 20240521-google-remove-crtc-index-from-parameter-f9afb21c7a85

Best regards,
-- 
Louis Chauvet <louis.chauvet at bootlin.com>



More information about the dri-devel mailing list