[PATCH RFC v2 00/20] Introduce support for post-blend color pipeline

Nícolas F. R. A. Prado posted 20 patches 2 weeks ago
drivers/gpu/drm/drm_atomic.c              |   9 +-
drivers/gpu/drm/drm_atomic_uapi.c         |  65 +++++++-
drivers/gpu/drm/drm_colorop.c             | 245 ++++++++++++++++++++++++------
drivers/gpu/drm/drm_connector.c           |   1 +
drivers/gpu/drm/drm_crtc.c                |  77 ++++++++++
drivers/gpu/drm/drm_crtc_internal.h       |   6 +
drivers/gpu/drm/drm_ioctl.c               |  12 ++
drivers/gpu/drm/drm_mode_object.c         |   9 ++
drivers/gpu/drm/drm_plane.c               |  36 +----
drivers/gpu/drm/mediatek/mtk_crtc.c       | 208 ++++++++++++++++++++++++-
drivers/gpu/drm/mediatek/mtk_ddp_comp.c   |   6 +-
drivers/gpu/drm/mediatek/mtk_ddp_comp.h   |   2 +
drivers/gpu/drm/mediatek/mtk_disp_ccorr.c | 100 ++++++++++--
drivers/gpu/drm/mediatek/mtk_disp_drv.h   |   6 +-
drivers/gpu/drm/mediatek/mtk_disp_gamma.c | 107 ++++++++++---
drivers/gpu/drm/mediatek/mtk_drm_drv.c    |   3 +-
drivers/gpu/drm/vkms/vkms_colorop.c       | 106 ++++++++++++-
drivers/gpu/drm/vkms/vkms_composer.c      |  13 +-
drivers/gpu/drm/vkms/vkms_crtc.c          |   1 +
drivers/gpu/drm/vkms/vkms_drv.c           |   3 +-
drivers/gpu/drm/vkms/vkms_drv.h           |   3 +-
drivers/gpu/drm/vkms/vkms_plane.c         |   2 +-
include/drm/drm_atomic.h                  |  20 +++
include/drm/drm_atomic_uapi.h             |   2 +
include/drm/drm_colorop.h                 |  22 ++-
include/drm/drm_crtc.h                    |  27 ++++
include/drm/drm_drv.h                     |   6 +
include/drm/drm_file.h                    |   7 +
include/uapi/drm/drm.h                    |  25 +++
29 files changed, 994 insertions(+), 135 deletions(-)
[PATCH RFC v2 00/20] Introduce support for post-blend color pipeline
Posted by Nícolas F. R. A. Prado 2 weeks ago
This series is based on "Color Pipeline API w/ VKMS" [1]. It reuses the
same concept of a color pipeline API but for the post-blend stage
instead of pre-blend, by attaching the COLOR_PIPELINE property to the
CRTC rather than a plane.

The patches in the series first implement the necessary changes in the
DRM core to allow for post-blend color pipelines and expose it through
the uAPI, and then implement support in both the MediaTek KMS driver and
in VKMS.

This series has been tested with IGT, with the "Support post-blend color
pipeline API" series [2] applied, on top of VKMS, as well as with
Weston, with a WIP branch [3], on a MT8195-Tomato Chromebook, where both
gamma LUT and CTM color transformations have been simultaneously
configured in hardware through the API and validated (test commits for
weston at [4] and for kernel at [5]).

[1] https://lore.kernel.org/all/20250815035047.3319284-1-alex.hung@amd.com/
[2] https://lore.kernel.org/igt-dev/20250912-post-blend-colorops-v1-0-83fc62420cba@collabora.com/T/#t
[3] https://gitlab.collabora.com/nfraprado/weston/-/tree/post-blend-colorops?ref_type=heads
[4] https://gitlab.collabora.com/nfraprado/weston/-/tree/post-blend-color-pipeline-lut-ctm-test?ref_type=tags
[5] https://gitlab.collabora.com/nfraprado/linux/-/tree/debug-ctm-lut-data-post-blend-colorop?ref_type=tags

Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
---
Changes in v2:
- Split core DRM changes for post-blend color pipelines from single
  commit into smaller changes
- Added post-blend color pipeline support in VKMS
- Introduced driver cap, and made client cap depend on it (daniels)
- Made deprecated color props (GAMMA_LUT, DEGAMMA_LUT, CTM) available as
  read-only when post-blend color pipelines are enabled (daniels)
- Created colorop_modeset_lock/unlock to commonize locking pattern for
  colorops (louis.chauvet)
- Added helper for post-blend 1D curve colorop creation
- Link to v1: https://lore.kernel.org/r/20250822-mtk-post-blend-color-pipeline-v1-0-a9446d4aca82@collabora.com

---
Nícolas F. R. A. Prado (20):
      drm/crtc: Add color pipeline to CRTC state
      drm/colorop: Allow parenting colorop to CRTC
      drm: Factor out common color_pipeline property initialization code
      drm/crtc: Add COLOR_PIPELINE property
      drm: Introduce DRM_CAP_POST_BLEND_COLOR_PIPELINE
      drm: Introduce DRM_CLIENT_CAP_POST_BLEND_COLOR_PIPELINE
      drm/atomic: Pass post_blend_color_pipeline client cap to atomic check
      drm/atomic: Print the color pipeline as part of the CRTC state print
      drm/colorop: Factor out common paths from colorops helpers
      drm/colorop: Introduce colorop helpers for crtc
      drm/colorop: Export drm_colorop_cleanup() so drivers can extend it
      drm/crtc: Track post-blend color pipeline client cap in drm_crtc_state
      drm/mediatek: Support post-blend colorops for gamma and ctm
      drm/mediatek: ccorr: Support post-blend color pipeline API
      drm/mediatek: gamma: Support post-blend color pipeline API
      drm/mediatek: Set post-blend color pipeline driver cap
      drm/vkms: Rename existing color pipeline helpers to contain "pre_blend"
      drm/vkms: Prepare pre_blend_color_transform() for post-blend pipelines
      drm/vkms: Introduce support for post-blend color pipeline
      drm/vkms: Set post-blend color pipeline driver cap

 drivers/gpu/drm/drm_atomic.c              |   9 +-
 drivers/gpu/drm/drm_atomic_uapi.c         |  65 +++++++-
 drivers/gpu/drm/drm_colorop.c             | 245 ++++++++++++++++++++++++------
 drivers/gpu/drm/drm_connector.c           |   1 +
 drivers/gpu/drm/drm_crtc.c                |  77 ++++++++++
 drivers/gpu/drm/drm_crtc_internal.h       |   6 +
 drivers/gpu/drm/drm_ioctl.c               |  12 ++
 drivers/gpu/drm/drm_mode_object.c         |   9 ++
 drivers/gpu/drm/drm_plane.c               |  36 +----
 drivers/gpu/drm/mediatek/mtk_crtc.c       | 208 ++++++++++++++++++++++++-
 drivers/gpu/drm/mediatek/mtk_ddp_comp.c   |   6 +-
 drivers/gpu/drm/mediatek/mtk_ddp_comp.h   |   2 +
 drivers/gpu/drm/mediatek/mtk_disp_ccorr.c | 100 ++++++++++--
 drivers/gpu/drm/mediatek/mtk_disp_drv.h   |   6 +-
 drivers/gpu/drm/mediatek/mtk_disp_gamma.c | 107 ++++++++++---
 drivers/gpu/drm/mediatek/mtk_drm_drv.c    |   3 +-
 drivers/gpu/drm/vkms/vkms_colorop.c       | 106 ++++++++++++-
 drivers/gpu/drm/vkms/vkms_composer.c      |  13 +-
 drivers/gpu/drm/vkms/vkms_crtc.c          |   1 +
 drivers/gpu/drm/vkms/vkms_drv.c           |   3 +-
 drivers/gpu/drm/vkms/vkms_drv.h           |   3 +-
 drivers/gpu/drm/vkms/vkms_plane.c         |   2 +-
 include/drm/drm_atomic.h                  |  20 +++
 include/drm/drm_atomic_uapi.h             |   2 +
 include/drm/drm_colorop.h                 |  22 ++-
 include/drm/drm_crtc.h                    |  27 ++++
 include/drm/drm_drv.h                     |   6 +
 include/drm/drm_file.h                    |   7 +
 include/uapi/drm/drm.h                    |  25 +++
 29 files changed, 994 insertions(+), 135 deletions(-)
---
base-commit: 342e5ee08797cde0e8af30e6110a5dc1cba61e9c
change-id: 20250730-mtk-post-blend-color-pipeline-498e1a9cc53e

Best regards,
-- 
Nícolas F. R. A. Prado <nfraprado@collabora.com>

Re: [PATCH RFC v2 00/20] Introduce support for post-blend color pipeline
Posted by Harry Wentland 2 days, 22 hours ago

On 2025-09-17 20:43, Nícolas F. R. A. Prado wrote:
> This series is based on "Color Pipeline API w/ VKMS" [1]. It reuses the
> same concept of a color pipeline API but for the post-blend stage
> instead of pre-blend, by attaching the COLOR_PIPELINE property to the
> CRTC rather than a plane.
> 
> The patches in the series first implement the necessary changes in the
> DRM core to allow for post-blend color pipelines and expose it through
> the uAPI, and then implement support in both the MediaTek KMS driver and
> in VKMS.
> 
> This series has been tested with IGT, with the "Support post-blend color
> pipeline API" series [2] applied, on top of VKMS, as well as with
> Weston, with a WIP branch [3], on a MT8195-Tomato Chromebook, where both
> gamma LUT and CTM color transformations have been simultaneously
> configured in hardware through the API and validated (test commits for
> weston at [4] and for kernel at [5]).

Thanks for this work. Great to see the concepts translate well
to drm_crtc.

I haven't looked at the Mediatek or VKMS patches but left some
comments on the core patches.

Patches 1-2, 8-12 are
Reviewed-by: Harry Wentland <harry.wentland@amd.com>

Harry

> 
> [1] https://lore.kernel.org/all/20250815035047.3319284-1-alex.hung@amd.com/
> [2] https://lore.kernel.org/igt-dev/20250912-post-blend-colorops-v1-0-83fc62420cba@collabora.com/T/#t
> [3] https://gitlab.collabora.com/nfraprado/weston/-/tree/post-blend-colorops?ref_type=heads
> [4] https://gitlab.collabora.com/nfraprado/weston/-/tree/post-blend-color-pipeline-lut-ctm-test?ref_type=tags
> [5] https://gitlab.collabora.com/nfraprado/linux/-/tree/debug-ctm-lut-data-post-blend-colorop?ref_type=tags
> 
> Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
> ---
> Changes in v2:
> - Split core DRM changes for post-blend color pipelines from single
>    commit into smaller changes
> - Added post-blend color pipeline support in VKMS
> - Introduced driver cap, and made client cap depend on it (daniels)
> - Made deprecated color props (GAMMA_LUT, DEGAMMA_LUT, CTM) available as
>    read-only when post-blend color pipelines are enabled (daniels)
> - Created colorop_modeset_lock/unlock to commonize locking pattern for
>    colorops (louis.chauvet)
> - Added helper for post-blend 1D curve colorop creation
> - Link to v1: https://lore.kernel.org/r/20250822-mtk-post-blend-color-pipeline-v1-0-a9446d4aca82@collabora.com
> 
> ---
> Nícolas F. R. A. Prado (20):
>        drm/crtc: Add color pipeline to CRTC state
>        drm/colorop: Allow parenting colorop to CRTC
>        drm: Factor out common color_pipeline property initialization code
>        drm/crtc: Add COLOR_PIPELINE property
>        drm: Introduce DRM_CAP_POST_BLEND_COLOR_PIPELINE
>        drm: Introduce DRM_CLIENT_CAP_POST_BLEND_COLOR_PIPELINE
>        drm/atomic: Pass post_blend_color_pipeline client cap to atomic check
>        drm/atomic: Print the color pipeline as part of the CRTC state print
>        drm/colorop: Factor out common paths from colorops helpers
>        drm/colorop: Introduce colorop helpers for crtc
>        drm/colorop: Export drm_colorop_cleanup() so drivers can extend it
>        drm/crtc: Track post-blend color pipeline client cap in drm_crtc_state
>        drm/mediatek: Support post-blend colorops for gamma and ctm
>        drm/mediatek: ccorr: Support post-blend color pipeline API
>        drm/mediatek: gamma: Support post-blend color pipeline API
>        drm/mediatek: Set post-blend color pipeline driver cap
>        drm/vkms: Rename existing color pipeline helpers to contain "pre_blend"
>        drm/vkms: Prepare pre_blend_color_transform() for post-blend pipelines
>        drm/vkms: Introduce support for post-blend color pipeline
>        drm/vkms: Set post-blend color pipeline driver cap
> 
>   drivers/gpu/drm/drm_atomic.c              |   9 +-
>   drivers/gpu/drm/drm_atomic_uapi.c         |  65 +++++++-
>   drivers/gpu/drm/drm_colorop.c             | 245 ++++++++++++++++++++++++------
>   drivers/gpu/drm/drm_connector.c           |   1 +
>   drivers/gpu/drm/drm_crtc.c                |  77 ++++++++++
>   drivers/gpu/drm/drm_crtc_internal.h       |   6 +
>   drivers/gpu/drm/drm_ioctl.c               |  12 ++
>   drivers/gpu/drm/drm_mode_object.c         |   9 ++
>   drivers/gpu/drm/drm_plane.c               |  36 +----
>   drivers/gpu/drm/mediatek/mtk_crtc.c       | 208 ++++++++++++++++++++++++-
>   drivers/gpu/drm/mediatek/mtk_ddp_comp.c   |   6 +-
>   drivers/gpu/drm/mediatek/mtk_ddp_comp.h   |   2 +
>   drivers/gpu/drm/mediatek/mtk_disp_ccorr.c | 100 ++++++++++--
>   drivers/gpu/drm/mediatek/mtk_disp_drv.h   |   6 +-
>   drivers/gpu/drm/mediatek/mtk_disp_gamma.c | 107 ++++++++++---
>   drivers/gpu/drm/mediatek/mtk_drm_drv.c    |   3 +-
>   drivers/gpu/drm/vkms/vkms_colorop.c       | 106 ++++++++++++-
>   drivers/gpu/drm/vkms/vkms_composer.c      |  13 +-
>   drivers/gpu/drm/vkms/vkms_crtc.c          |   1 +
>   drivers/gpu/drm/vkms/vkms_drv.c           |   3 +-
>   drivers/gpu/drm/vkms/vkms_drv.h           |   3 +-
>   drivers/gpu/drm/vkms/vkms_plane.c         |   2 +-
>   include/drm/drm_atomic.h                  |  20 +++
>   include/drm/drm_atomic_uapi.h             |   2 +
>   include/drm/drm_colorop.h                 |  22 ++-
>   include/drm/drm_crtc.h                    |  27 ++++
>   include/drm/drm_drv.h                     |   6 +
>   include/drm/drm_file.h                    |   7 +
>   include/uapi/drm/drm.h                    |  25 +++
>   29 files changed, 994 insertions(+), 135 deletions(-)
> ---
> base-commit: 342e5ee08797cde0e8af30e6110a5dc1cba61e9c
> change-id: 20250730-mtk-post-blend-color-pipeline-498e1a9cc53e
> 
> Best regards,

Re: [PATCH RFC v2 00/20] Introduce support for post-blend color pipeline
Posted by Melissa Wen 2 days, 21 hours ago

On 17/09/2025 21:43, Nícolas F. R. A. Prado wrote:
> This series is based on "Color Pipeline API w/ VKMS" [1]. It reuses the
> same concept of a color pipeline API but for the post-blend stage
> instead of pre-blend, by attaching the COLOR_PIPELINE property to the
> CRTC rather than a plane.

Hi all,

I'm confused about the timing of this series being reviewed.
Hadn't we agreed in past hackfest on discussing post-blending color API 
only after we have sorted out pre-blending color properties?
There are still open questions around color_encoding and color_range, 
for example...
How assertive can we be evaluating the post-blending API now?

Best Regards,

Melissa

>
> The patches in the series first implement the necessary changes in the
> DRM core to allow for post-blend color pipelines and expose it through
> the uAPI, and then implement support in both the MediaTek KMS driver and
> in VKMS.
>
> This series has been tested with IGT, with the "Support post-blend color
> pipeline API" series [2] applied, on top of VKMS, as well as with
> Weston, with a WIP branch [3], on a MT8195-Tomato Chromebook, where both
> gamma LUT and CTM color transformations have been simultaneously
> configured in hardware through the API and validated (test commits for
> weston at [4] and for kernel at [5]).
>
> [1] https://lore.kernel.org/all/20250815035047.3319284-1-alex.hung@amd.com/
> [2] https://lore.kernel.org/igt-dev/20250912-post-blend-colorops-v1-0-83fc62420cba@collabora.com/T/#t
> [3] https://gitlab.collabora.com/nfraprado/weston/-/tree/post-blend-colorops?ref_type=heads
> [4] https://gitlab.collabora.com/nfraprado/weston/-/tree/post-blend-color-pipeline-lut-ctm-test?ref_type=tags
> [5] https://gitlab.collabora.com/nfraprado/linux/-/tree/debug-ctm-lut-data-post-blend-colorop?ref_type=tags
>
> Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
> ---
> Changes in v2:
> - Split core DRM changes for post-blend color pipelines from single
>    commit into smaller changes
> - Added post-blend color pipeline support in VKMS
> - Introduced driver cap, and made client cap depend on it (daniels)
> - Made deprecated color props (GAMMA_LUT, DEGAMMA_LUT, CTM) available as
>    read-only when post-blend color pipelines are enabled (daniels)
> - Created colorop_modeset_lock/unlock to commonize locking pattern for
>    colorops (louis.chauvet)
> - Added helper for post-blend 1D curve colorop creation
> - Link to v1: https://lore.kernel.org/r/20250822-mtk-post-blend-color-pipeline-v1-0-a9446d4aca82@collabora.com
>
> ---
> Nícolas F. R. A. Prado (20):
>        drm/crtc: Add color pipeline to CRTC state
>        drm/colorop: Allow parenting colorop to CRTC
>        drm: Factor out common color_pipeline property initialization code
>        drm/crtc: Add COLOR_PIPELINE property
>        drm: Introduce DRM_CAP_POST_BLEND_COLOR_PIPELINE
>        drm: Introduce DRM_CLIENT_CAP_POST_BLEND_COLOR_PIPELINE
>        drm/atomic: Pass post_blend_color_pipeline client cap to atomic check
>        drm/atomic: Print the color pipeline as part of the CRTC state print
>        drm/colorop: Factor out common paths from colorops helpers
>        drm/colorop: Introduce colorop helpers for crtc
>        drm/colorop: Export drm_colorop_cleanup() so drivers can extend it
>        drm/crtc: Track post-blend color pipeline client cap in drm_crtc_state
>        drm/mediatek: Support post-blend colorops for gamma and ctm
>        drm/mediatek: ccorr: Support post-blend color pipeline API
>        drm/mediatek: gamma: Support post-blend color pipeline API
>        drm/mediatek: Set post-blend color pipeline driver cap
>        drm/vkms: Rename existing color pipeline helpers to contain "pre_blend"
>        drm/vkms: Prepare pre_blend_color_transform() for post-blend pipelines
>        drm/vkms: Introduce support for post-blend color pipeline
>        drm/vkms: Set post-blend color pipeline driver cap
>
>   drivers/gpu/drm/drm_atomic.c              |   9 +-
>   drivers/gpu/drm/drm_atomic_uapi.c         |  65 +++++++-
>   drivers/gpu/drm/drm_colorop.c             | 245 ++++++++++++++++++++++++------
>   drivers/gpu/drm/drm_connector.c           |   1 +
>   drivers/gpu/drm/drm_crtc.c                |  77 ++++++++++
>   drivers/gpu/drm/drm_crtc_internal.h       |   6 +
>   drivers/gpu/drm/drm_ioctl.c               |  12 ++
>   drivers/gpu/drm/drm_mode_object.c         |   9 ++
>   drivers/gpu/drm/drm_plane.c               |  36 +----
>   drivers/gpu/drm/mediatek/mtk_crtc.c       | 208 ++++++++++++++++++++++++-
>   drivers/gpu/drm/mediatek/mtk_ddp_comp.c   |   6 +-
>   drivers/gpu/drm/mediatek/mtk_ddp_comp.h   |   2 +
>   drivers/gpu/drm/mediatek/mtk_disp_ccorr.c | 100 ++++++++++--
>   drivers/gpu/drm/mediatek/mtk_disp_drv.h   |   6 +-
>   drivers/gpu/drm/mediatek/mtk_disp_gamma.c | 107 ++++++++++---
>   drivers/gpu/drm/mediatek/mtk_drm_drv.c    |   3 +-
>   drivers/gpu/drm/vkms/vkms_colorop.c       | 106 ++++++++++++-
>   drivers/gpu/drm/vkms/vkms_composer.c      |  13 +-
>   drivers/gpu/drm/vkms/vkms_crtc.c          |   1 +
>   drivers/gpu/drm/vkms/vkms_drv.c           |   3 +-
>   drivers/gpu/drm/vkms/vkms_drv.h           |   3 +-
>   drivers/gpu/drm/vkms/vkms_plane.c         |   2 +-
>   include/drm/drm_atomic.h                  |  20 +++
>   include/drm/drm_atomic_uapi.h             |   2 +
>   include/drm/drm_colorop.h                 |  22 ++-
>   include/drm/drm_crtc.h                    |  27 ++++
>   include/drm/drm_drv.h                     |   6 +
>   include/drm/drm_file.h                    |   7 +
>   include/uapi/drm/drm.h                    |  25 +++
>   29 files changed, 994 insertions(+), 135 deletions(-)
> ---
> base-commit: 342e5ee08797cde0e8af30e6110a5dc1cba61e9c
> change-id: 20250730-mtk-post-blend-color-pipeline-498e1a9cc53e
>
> Best regards,

Re: [PATCH RFC v2 00/20] Introduce support for post-blend color pipeline
Posted by Harry Wentland 2 days, 18 hours ago

On 2025-09-29 08:05, Melissa Wen wrote:
> 
> 
> On 17/09/2025 21:43, Nícolas F. R. A. Prado wrote:
>> This series is based on "Color Pipeline API w/ VKMS" [1]. It reuses the
>> same concept of a color pipeline API but for the post-blend stage
>> instead of pre-blend, by attaching the COLOR_PIPELINE property to the
>> CRTC rather than a plane.
> 
> Hi all,
> 
> I'm confused about the timing of this series being reviewed.
> Hadn't we agreed in past hackfest on discussing post-blending color API 
> only after we have sorted out pre-blending color properties?

I don't think it's a problem to have people with bandwidth looking
at the post-blending portion, especially if they weren't involved
in the pre-blending patchset.

I find it helpful to look at this and it proofs (to me) that the
direction of the pre-blending design is correct. I don't (necessarily) 
like how it re-opens questions that we discussed previously, such
as hiding legacy properties, and would be hesitant to change this
on the pre-blending patches and therefore delay the merge even
further.

> There are still open questions around color_encoding and color_range, 
> for example...

I apologize if I missed key bits that might require attention. Could
you elaborate on the open questions?

> How assertive can we be evaluating the post-blending API now?

As people wait on the pre-blending pipeline to merged it makes sense
to start looking at the next steps.

I would like the IGT patches to be reviewed before we merge the pre-
blending pipeline. Otherwise I think it's ready.

Harry

> 
> Best Regards,
> 
> Melissa
> 
>>
>> The patches in the series first implement the necessary changes in the
>> DRM core to allow for post-blend color pipelines and expose it through
>> the uAPI, and then implement support in both the MediaTek KMS driver and
>> in VKMS.
>>
>> This series has been tested with IGT, with the "Support post-blend color
>> pipeline API" series [2] applied, on top of VKMS, as well as with
>> Weston, with a WIP branch [3], on a MT8195-Tomato Chromebook, where both
>> gamma LUT and CTM color transformations have been simultaneously
>> configured in hardware through the API and validated (test commits for
>> weston at [4] and for kernel at [5]).
>>
>> [1] https://lore.kernel.org/all/20250815035047.3319284-1- 
>> alex.hung@amd.com/
>> [2] https://lore.kernel.org/igt-dev/20250912-post-blend-colorops- 
>> v1-0-83fc62420cba@collabora.com/T/#t
>> [3] https://gitlab.collabora.com/nfraprado/weston/-/tree/post-blend- 
>> colorops?ref_type=heads
>> [4] https://gitlab.collabora.com/nfraprado/weston/-/tree/post-blend- 
>> color-pipeline-lut-ctm-test?ref_type=tags
>> [5] https://gitlab.collabora.com/nfraprado/linux/-/tree/debug-ctm-lut- 
>> data-post-blend-colorop?ref_type=tags
>>
>> Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
>> ---
>> Changes in v2:
>> - Split core DRM changes for post-blend color pipelines from single
>>    commit into smaller changes
>> - Added post-blend color pipeline support in VKMS
>> - Introduced driver cap, and made client cap depend on it (daniels)
>> - Made deprecated color props (GAMMA_LUT, DEGAMMA_LUT, CTM) available as
>>    read-only when post-blend color pipelines are enabled (daniels)
>> - Created colorop_modeset_lock/unlock to commonize locking pattern for
>>    colorops (louis.chauvet)
>> - Added helper for post-blend 1D curve colorop creation
>> - Link to v1: https://lore.kernel.org/r/20250822-mtk-post-blend-color- 
>> pipeline-v1-0-a9446d4aca82@collabora.com
>>
>> ---
>> Nícolas F. R. A. Prado (20):
>>        drm/crtc: Add color pipeline to CRTC state
>>        drm/colorop: Allow parenting colorop to CRTC
>>        drm: Factor out common color_pipeline property initialization code
>>        drm/crtc: Add COLOR_PIPELINE property
>>        drm: Introduce DRM_CAP_POST_BLEND_COLOR_PIPELINE
>>        drm: Introduce DRM_CLIENT_CAP_POST_BLEND_COLOR_PIPELINE
>>        drm/atomic: Pass post_blend_color_pipeline client cap to atomic 
>> check
>>        drm/atomic: Print the color pipeline as part of the CRTC state 
>> print
>>        drm/colorop: Factor out common paths from colorops helpers
>>        drm/colorop: Introduce colorop helpers for crtc
>>        drm/colorop: Export drm_colorop_cleanup() so drivers can extend it
>>        drm/crtc: Track post-blend color pipeline client cap in 
>> drm_crtc_state
>>        drm/mediatek: Support post-blend colorops for gamma and ctm
>>        drm/mediatek: ccorr: Support post-blend color pipeline API
>>        drm/mediatek: gamma: Support post-blend color pipeline API
>>        drm/mediatek: Set post-blend color pipeline driver cap
>>        drm/vkms: Rename existing color pipeline helpers to contain 
>> "pre_blend"
>>        drm/vkms: Prepare pre_blend_color_transform() for post-blend 
>> pipelines
>>        drm/vkms: Introduce support for post-blend color pipeline
>>        drm/vkms: Set post-blend color pipeline driver cap
>>
>>   drivers/gpu/drm/drm_atomic.c              |   9 +-
>>   drivers/gpu/drm/drm_atomic_uapi.c         |  65 +++++++-
>>   drivers/gpu/drm/drm_colorop.c             | 245 ++++++++++++++++++++ 
>> ++++------
>>   drivers/gpu/drm/drm_connector.c           |   1 +
>>   drivers/gpu/drm/drm_crtc.c                |  77 ++++++++++
>>   drivers/gpu/drm/drm_crtc_internal.h       |   6 +
>>   drivers/gpu/drm/drm_ioctl.c               |  12 ++
>>   drivers/gpu/drm/drm_mode_object.c         |   9 ++
>>   drivers/gpu/drm/drm_plane.c               |  36 +----
>>   drivers/gpu/drm/mediatek/mtk_crtc.c       | 208 ++++++++++++++++++++ 
>> ++++-
>>   drivers/gpu/drm/mediatek/mtk_ddp_comp.c   |   6 +-
>>   drivers/gpu/drm/mediatek/mtk_ddp_comp.h   |   2 +
>>   drivers/gpu/drm/mediatek/mtk_disp_ccorr.c | 100 ++++++++++--
>>   drivers/gpu/drm/mediatek/mtk_disp_drv.h   |   6 +-
>>   drivers/gpu/drm/mediatek/mtk_disp_gamma.c | 107 ++++++++++---
>>   drivers/gpu/drm/mediatek/mtk_drm_drv.c    |   3 +-
>>   drivers/gpu/drm/vkms/vkms_colorop.c       | 106 ++++++++++++-
>>   drivers/gpu/drm/vkms/vkms_composer.c      |  13 +-
>>   drivers/gpu/drm/vkms/vkms_crtc.c          |   1 +
>>   drivers/gpu/drm/vkms/vkms_drv.c           |   3 +-
>>   drivers/gpu/drm/vkms/vkms_drv.h           |   3 +-
>>   drivers/gpu/drm/vkms/vkms_plane.c         |   2 +-
>>   include/drm/drm_atomic.h                  |  20 +++
>>   include/drm/drm_atomic_uapi.h             |   2 +
>>   include/drm/drm_colorop.h                 |  22 ++-
>>   include/drm/drm_crtc.h                    |  27 ++++
>>   include/drm/drm_drv.h                     |   6 +
>>   include/drm/drm_file.h                    |   7 +
>>   include/uapi/drm/drm.h                    |  25 +++
>>   29 files changed, 994 insertions(+), 135 deletions(-)
>> ---
>> base-commit: 342e5ee08797cde0e8af30e6110a5dc1cba61e9c
>> change-id: 20250730-mtk-post-blend-color-pipeline-498e1a9cc53e
>>
>> Best regards,
>