mbox series

[RFC,00/15] drm/vkms: Introduce detailed configuration

Message ID 20240814-google-remove-crtc-index-from-parameter-v1-0-6e179abf9fd4@bootlin.com (mailing list archive)
Headers show
Series drm/vkms: Introduce detailed configuration | expand

Message

Louis Chauvet Aug. 14, 2024, 2:36 p.m. UTC
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
- crtcs
    - name
    - possible_planes [automatically filled by helpers]
    - possible_encoders [automatically filled by helpers]
- encoders
    - name
    - possible_crtcs

Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
---
Louis Chauvet (15):
      drm/vkms: Remove useles devres group
      drm/vkms: remove possible crtc from parameters
      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 plane configuration
      drm/vkms: Introduce plane name configuration
      drm/vkms: Introduce plane rotation configuration
      drm/vkms: Introduce configuration for plane color encoding
      drm/vkms: Introduce configuration for plane color range
      drm: writeback: Add drm_writeback_connector cleanup
      drm/vkms: Add configuration for CRTCs and encoders
      drm/vkms: Add name configuration for encoders
      drm/vkms: Add name configuration for CRTCs
      drm/vkms: Add test for config structure

 drivers/gpu/drm/drm_writeback.c               |  10 +
 drivers/gpu/drm/vkms/Makefile                 |   3 +-
 drivers/gpu/drm/vkms/tests/Makefile           |   1 +
 drivers/gpu/drm/vkms/tests/vkms_config_test.c | 135 ++++++++
 drivers/gpu/drm/vkms/vkms_config.c            | 426 ++++++++++++++++++++++++++
 drivers/gpu/drm/vkms/vkms_config.h            | 203 ++++++++++++
 drivers/gpu/drm/vkms/vkms_crtc.c              |  22 +-
 drivers/gpu/drm/vkms/vkms_crtc.h              |   3 +-
 drivers/gpu/drm/vkms/vkms_drv.c               | 168 ++++------
 drivers/gpu/drm/vkms/vkms_drv.h               |  15 +-
 drivers/gpu/drm/vkms/vkms_plane.c             |  23 +-
 drivers/gpu/drm/vkms/vkms_plane.h             |   5 +-
 include/drm/drm_writeback.h                   |  11 +
 13 files changed, 888 insertions(+), 137 deletions(-)
---
base-commit: 219b45d023ed0902b05c5902a4f31c2c38bcf68c
change-id: 20240521-google-remove-crtc-index-from-parameter-f9afb21c7a85
prerequisite-message-id: <20240809-yuv-v10-0-1a7c764166f7@bootlin.com>
prerequisite-patch-id: ae2d8b2efbbaa9decce56632c498c87e708288b3
prerequisite-patch-id: c26b6d4867eaf6566195aa0002765357d4f69f8c
prerequisite-patch-id: 8791d34a6f3148dc518da5249453067e40d346e3
prerequisite-patch-id: 26ec7cd5a449004bcfd6ce483671f87655f8635c
prerequisite-patch-id: 2e855ba871f2e99d4b6b7d85da2ddac6bb32262e
prerequisite-patch-id: 82523a917646793deeec7cdcc7ff286bd924fd21
prerequisite-patch-id: 0e355e5316281f53ab5e97ab6e63b0a682f3eb9e
prerequisite-patch-id: 7a63d245a377d5f5283f48e8f52421b912811752
prerequisite-patch-id: dda6bf4692cd1795c489ff58e72c0841ea8ffbc4
prerequisite-patch-id: f70e535b6086cc587975fbfa75741f485f679a32
prerequisite-patch-id: 6c2aa2645c7d854951608aa4d15a02e076abe1fe
prerequisite-patch-id: dc61c6d3db73053fc36e115af561e0c42b467de2
prerequisite-patch-id: deda292af6d8bbf6762b0bf4d351ffd2225995d8
prerequisite-patch-id: 18554f49b53cbcfd4a8ca50dc83b17dd3cf96474
prerequisite-patch-id: 5633292e10132d29be2467812e6e2e824cfedb67
prerequisite-patch-id: 43f37e9c1bc041d491e41dfb59548ed258a1e071
prerequisite-message-id: <20240814-b4-new-color-formats-v2-0-8b3499cfe90e@bootlin.com>
prerequisite-patch-id: d10db4cb12a88de2e5f6440e9fcf5ddda191e3cd
prerequisite-patch-id: 16bac0ef1f1dc010a72ce2faae66631797d23d3f
prerequisite-patch-id: 8e0e5cc0727e8fd2d14ebafc5538fd987c2dd38e
prerequisite-patch-id: 32bad3bf3df46d042e9edd4c1259c2e2a3fb8975
prerequisite-patch-id: 4bd9e4cef308abd17b7b274a5575a3de73a1503b
prerequisite-patch-id: a98fac5a2c60fe23fbc6a455e9a4ab8b0f187ee8
prerequisite-patch-id: 62c8d109a22b9978f755255b67f13fe74fb7008d
prerequisite-patch-id: baa8da4871dd90b03a07c6d9ddb45e10929ee70a
prerequisite-message-id: <20240814-writeback_line_by_line-v2-0-36541c717569@bootlin.com>
prerequisite-patch-id: df699289213021fa202fcdf1b4bdff513d09caa2
prerequisite-patch-id: 59d021ccb166fbe2962de9cda72aceb3caa9cabe
prerequisite-patch-id: 895ace6d58b3776798791705b7b05e26b8d37c7b
prerequisite-message-id: <20240814-google-clarifications-v1-0-3ee76d7d0c28@bootlin.com>
prerequisite-patch-id: a4408d1de7730262456bdd618d3cb86f5f5b01ba
prerequisite-patch-id: f215b5aee5644d2e5b1b2af0bb0f4f1e7609558b
prerequisite-patch-id: d4f3b4c714324c5f326af3daba394899e6663d75
prerequisite-message-id: <20240814-google-split-headers-v1-0-51712f088f5d@bootlin.com>
prerequisite-patch-id: 55e5c2ded8332cd6600d9c0c2b7be657c793e2a0
prerequisite-patch-id: 88323ab9ea04fb21a0a4c65642bcd499f2354042
prerequisite-patch-id: 437b67cf9bdc036fa7c5e11b5c9ab387b10cc151
prerequisite-patch-id: d34801b7f3035ab15facd42281c1c96e61d35a4c
prerequisite-patch-id: 37862a6437ff407a42e5aaff0b8e742fc9901e03
prerequisite-patch-id: 43a5079497a1579aef713ea9c4ec47ef53a177a2
prerequisite-message-id: <20240814-google-vkms-managed-v1-0-7ab8b8921103@bootlin.com>
prerequisite-patch-id: f07b5109188f67a6b11f83e6c591d04d8d9f7eb4
prerequisite-patch-id: 29f74417aff64dc7bb65ecc2902540073cd73352
prerequisite-patch-id: 23bdc1fb18aba22e0f40f62a7aaae1619f0eb89c
prerequisite-patch-id: 0acd7f43a33491b7987e9665b5b800c4f8aa266a

Best regards,