[PATCH 00/11] Plane Color Pipeline support for MediaTek

Shengyu Qu wiagn233 at outlook.com
Mon Dec 29 10:53:44 PST 2025



在 2025/12/24 3:44, NÃ colas F. R. A. Prado 写道:
> This series implements a plane color pipeline for MediaTek platforms,
> specifically for MT8195-compatible SoCs.
> 
> The pipeline is composed of the following blocks:
> 
> Inverse Gamma -> RGB to RGB Color Space Conversion (R2R CSC) -> Gamma
> (1D Curve)       (3x3 Matrix)                                   (1D Curve)
> 
> The curves supported by Inverse Gamma are:
> * scRGB
> * BT.709

scRGB? That means this HW supports float point format surface, are you 
sure this is not standard sRGB?

> The curves supported by Gamma are:
> * scRGB
> * BT.709
> * BT.2020
> * HLG
> 
> Given the lack of support for writeback connectors on the MediaTek KMS
> driver, combined with limited hardware documentation, I haven't been
> able to verify the correctness of each curve, only that they were
> visually sane (gamma curves made the image on the display brighter,
> while inverse gamma made it darker).

Hmmm I don't think this is acceptable. sRGB/scRGB has two transfer 
functions mentioned in original specification[1]. To keep color 
accuracy, we need someone from mediatek confirm whether this is 
piece-wise or pure power 2.2 transfer function, this is already done in 
original amdgpu color pipeline series, sRGB means piece-wise while also 
dedicated power 2.2 function exists.

Also +cc Xaver for a review as userspace compositor developer.

[1] https://gitlab.freedesktop.org/pq/color-and-hdr/-/issues/30

> This series depends on "drm: Color pipeline teardown and follow-up
> fixes/improvements" [1].
> 
> This series was tested on the MT8195-Tomato Chromebook.
> 
> Regarding the support of color operations in OVL for different SoCs:
> * it's not supported by MT8183, and presumably also not by older
>    generations
> * On MT8192 it's supported by ovl0 and ovl_2l0, but not ovl_2l2 (despite
>    the same compatible as ovl_2l0).
> 
> For this series I'm only enabling it on MT8195 since that's the one
> where I can readily test.
> 
> [1] https://lore.kernel.org/all/20251219065614.190834-1-chaitanya.kumar.borah@intel.com/#t
> 
> Signed-off-by: Nícolas F. R. A. Prado <nfraprado at collabora.com>
> ---
> Nícolas F. R. A. Prado (11):
>        drm/mediatek: Introduce DDP plane_colorops_init() hook
>        drm/mediatek: Initialize colorops when creating plane
>        drm/mediatek: ovl: Add supports_plane_colorops flag
>        drm/mediatek: ovl: Enable per-plane color operations on MT8195
>        drm/mediatek: ovl: Implement support for Inverse Gamma
>        drm/mediatek: Add plane_colorops_init() DDP hook for OVL
>        drm/colorop: Introduce HLG EOTF
>        drm/mediatek: ovl: Implement support for Gamma
>        drm/colorop: Introduce 3x3 Matrix
>        drm/mediatek: ovl: Enable support for R2R Color Space Conversion
>        drm/mediatek: Check 3x3 Matrix colorop has DATA set
> 
>   drivers/gpu/drm/drm_atomic.c            |   1 +
>   drivers/gpu/drm/drm_atomic_uapi.c       |   3 +
>   drivers/gpu/drm/drm_colorop.c           |  22 +++
>   drivers/gpu/drm/mediatek/mtk_crtc.c     |  36 +++-
>   drivers/gpu/drm/mediatek/mtk_ddp_comp.c |   1 +
>   drivers/gpu/drm/mediatek/mtk_ddp_comp.h |   2 +
>   drivers/gpu/drm/mediatek/mtk_disp_drv.h |   1 +
>   drivers/gpu/drm/mediatek/mtk_disp_ovl.c | 287 ++++++++++++++++++++++++++++++++
>   include/drm/drm_colorop.h               |  13 ++
>   include/uapi/drm/drm_mode.h             |  16 ++
>   10 files changed, 381 insertions(+), 1 deletion(-)
> ---
> base-commit: 1783cdadb70e74a30dfee250f8c2dc13b4e61128
> change-id: 20251219-mtk-ovl-pre-blend-colorops-95b7b2883d95
> 
> Best regards,

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0xE3520CC91929C8E7.asc
Type: application/pgp-keys
Size: 6868 bytes
Desc: OpenPGP public key
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20251230/3d28fc15/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20251230/3d28fc15/attachment-0001.sig>


More information about the linux-arm-kernel mailing list