public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFC v2 00/18] drm/vkms: Introduce detailed configuration
@ 2024-11-22 17:20 Louis Chauvet
  2024-11-22 17:20 ` [PATCH RFC v2 01/18] drm/vkms: Extract vkms_config header Louis Chauvet
                   ` (17 more replies)
  0 siblings, 18 replies; 26+ messages in thread
From: Louis Chauvet @ 2024-11-22 17:20 UTC (permalink / raw)
  To: Maíra Canal, Haneen Mohammed, Simona Vetter, Melissa Wen,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie
  Cc: arthurgrillo, jeremie.dautheribes, miquel.raynal,
	thomas.petazzoni, seanpaul, nicolejadeyee, linux-kernel,
	dri-devel, Louis Chauvet, José Expósito

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_color_encodings
    - supported_rotations
    - supported_color_ranges
    - default_rotation
    - default_color_range
    - default_color_encoding
    - 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

This series depends on:
https://lore.kernel.org/all/20241122-google-vkms-managed-v5-0-1ab60403e960@bootlin.com
https://lore.kernel.org/all/20241122-b4-vkms-allocated-v2-0-ff7bddbf0bfb@bootlin.com
https://lore.kernel.org/all/20241122-b4-new-color-formats-v3-0-23f7776197c9@bootlin.com
https://lore.kernel.org/all/20241122-writeback_line_by_line-v3-0-085d5810f6e3@bootlin.com

As there are some conflicts, you can find a working branch here:
https://gitlab.freedesktop.org/louischauvet/kernel/-/tree/b4/vkms-config

Signed-off-by: Louis Chauvet <louis.chauvet@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 (18):
      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 plane color encoding
      drm/vkms: Introduce config for plane color range
      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           |   1 +
 drivers/gpu/drm/vkms/tests/vkms_config_test.c | 137 ++++++
 drivers/gpu/drm/vkms/vkms_config.c            | 613 ++++++++++++++++++++++++++
 drivers/gpu/drm/vkms/vkms_config.h            | 245 ++++++++++
 drivers/gpu/drm/vkms/vkms_crtc.c              |  16 +-
 drivers/gpu/drm/vkms/vkms_drv.c               |  42 +-
 drivers/gpu/drm/vkms/vkms_drv.h               |  25 +-
 drivers/gpu/drm/vkms/vkms_output.c            | 183 +++++---
 drivers/gpu/drm/vkms/vkms_plane.c             |  62 +--
 10 files changed, 1152 insertions(+), 175 deletions(-)
---
base-commit: 98efdd02e220fea84c1491012d7292749a71faeb
change-id: 20240521-google-remove-crtc-index-from-parameter-f9afb21c7a85
prerequisite-message-id: 20241122-google-vkms-managed-v5-0-1ab60403e960@bootlin.com
prerequisite-patch-id: b608594ad493a41000ee703792eac4b23f9e35dc
prerequisite-patch-id: 5697aa87c44bbf3eda8a1ba424465dc792545d4c
prerequisite-patch-id: 223d59c407ce28dacf3f563b5c0148d2398303f1
prerequisite-patch-id: 720b75b21d06ce3d3f060fb9238f7903834da0e1
prerequisite-patch-id: 30a1e033fa43241ca6a43006fd4f29f8e9217224
prerequisite-message-id: 20241122-b4-vkms-allocated-v2-0-ff7bddbf0bfb@bootlin.com
prerequisite-patch-id: 9741873a5f0a7a3cf117dec7837354c3ad38ac3a
prerequisite-patch-id: 1a383d1494e4f2142b62822f2ba482a3b813563a
prerequisite-patch-id: 7d3f49fee4d3553d52fc075b7868da9dea9209cd
prerequisite-patch-id: 57f5aeff2a9e8f2b6f47569e44dcd8fa587ed4bf
prerequisite-message-id: 20241122-b4-new-color-formats-v3-0-23f7776197c9@bootlin.com
prerequisite-patch-id: e6717b75d79ae5cfb0815bab88d722082107dc0e
prerequisite-patch-id: 4b3b1ea5ad2e3ba1922cd4b3d3d46214b27c8c2d
prerequisite-patch-id: 060874d5a7433cc8cc654bc63e0b411036727ebb
prerequisite-patch-id: 43115d21842e508d9d8b0468e15f67d442bffe3c
prerequisite-patch-id: 627d0970e76d4154c982d0d4172e7a0c4dfb9a4c
prerequisite-patch-id: 582445144ac0ab11175ef96262060b08a5e1467e
prerequisite-patch-id: a98fac5a2c60fe23fbc6a455e9a4ab8b0f187ee8
prerequisite-patch-id: 62c8d109a22b9978f755255b67f13fe74fb7008d
prerequisite-message-id: 20241122-writeback_line_by_line-v3-0-085d5810f6e3@bootlin.com
prerequisite-patch-id: 07868dd9c7bbb1ed96d675c689de86f0cf293248
prerequisite-patch-id: 736638b76050ef7a99cfad2c1560f7af114d5fbd
prerequisite-patch-id: 20d8823f9c1d372ab2b88f969f5110f77e49c7f9

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


^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2024-11-25 10:25 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-22 17:20 [PATCH RFC v2 00/18] drm/vkms: Introduce detailed configuration Louis Chauvet
2024-11-22 17:20 ` [PATCH RFC v2 01/18] drm/vkms: Extract vkms_config header Louis Chauvet
2024-11-22 17:20 ` [PATCH RFC v2 02/18] drm/vkms: Add a validation function for vkms configuration Louis Chauvet
2024-11-22 17:20 ` [PATCH RFC v2 03/18] drm/vkms: Move default_config creation to its own function Louis Chauvet
2024-11-22 17:20 ` [PATCH RFC v2 04/18] drm/vkms: Introduce config for plane Louis Chauvet
2024-11-22 17:20 ` [PATCH RFC v2 05/18] drm/vkms: Introduce config for plane name Louis Chauvet
2024-11-22 17:20 ` [PATCH RFC v2 06/18] drm/vkms: Introduce config for plane rotation Louis Chauvet
2024-11-22 17:20 ` [PATCH RFC v2 07/18] drm/vkms: Introduce config for plane color encoding Louis Chauvet
2024-11-22 17:20 ` [PATCH RFC v2 08/18] drm/vkms: Introduce config for plane color range Louis Chauvet
2024-11-22 17:20 ` [PATCH RFC v2 09/18] drm/vkms: Introduce config for CRTCs and encoders Louis Chauvet
2024-11-22 17:20 ` [PATCH RFC v2 10/18] drm/vkms: Introduce config for encoder name Louis Chauvet
2024-11-25  9:28   ` Jani Nikula
2024-11-25  9:50     ` Louis Chauvet
2024-11-22 17:20 ` [PATCH RFC v2 11/18] drm/vkms: Introduce config for CRTC name Louis Chauvet
2024-11-25  9:29   ` Jani Nikula
2024-11-22 17:20 ` [PATCH RFC v2 12/18] drm/vkms: Add test for config structure Louis Chauvet
2024-11-22 17:20 ` [PATCH RFC v2 13/18] drm/vkms: Introduce config for connector Louis Chauvet
2024-11-22 17:20 ` [PATCH RFC v2 14/18] drm/vkms: Introduce config for connector type Louis Chauvet
2024-11-22 17:20 ` [PATCH RFC v2 15/18] drm/vkms: Introduce config for plane format Louis Chauvet
2024-11-22 17:20 ` [PATCH RFC v2 16/18] drm/vkms: Introduce config for connector status Louis Chauvet
2024-11-22 17:20 ` [PATCH RFC v2 17/18] drm/vkms: Introduce config for connector EDID Louis Chauvet
2024-11-22 21:28   ` Ian Forbes
2024-11-23 10:45     ` Louis Chauvet
2024-11-25  9:45   ` Jani Nikula
2024-11-25 10:19     ` Louis Chauvet
2024-11-22 17:20 ` [PATCH RFC v2 18/18] drm/vkms: Introduce config for encoder type Louis Chauvet

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox