[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <fd518fa2-be83-4b51-a5a7-d3e7d0aac08d@amlogic.com>
Date: Thu, 10 Jul 2025 10:19:26 +0800
From: Keke Li <keke.li@...ogic.com>
To: Jacopo Mondi <jacopo.mondi@...asonboard.com>,
Dafna Hirschfeld <dafna@...tmail.com>,
Laurent Pinchart <laurent.pinchart@...asonboard.com>,
Mauro Carvalho Chehab <mchehab@...nel.org>, Heiko Stuebner
<heiko@...ech.de>, Dan Scally <dan.scally@...asonboard.com>,
Sakari Ailus <sakari.ailus@...ux.intel.com>
Cc: linux-kernel@...r.kernel.org, linux-media@...r.kernel.org,
linux-rockchip@...ts.infradead.org, linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH 0/8] media: Introduce V4L2 extensible parameters
Hi Jacopo
On 2025/7/8 18:40, Jacopo Mondi wrote:
> [ EXTERNAL EMAIL ]
>
> Extensible parameters meta formats have been introduced in the Linux
> kernel v6.12 initially to support different revision of the RkISP1 ISP
> implemented in different SoC. In order to avoid breaking userspace
> everytime an ISP configuration block is added or modified in the uAPI
> these new formats, which are versionated and extensible by their
> definition have been introduced.
>
> See for reference:
> e9d05e9d5db1 ("media: uapi: rkisp1-config: Add extensible params format")
> 6c53a7b68c5d ("media: rkisp1: Implement extensible params support")
>
> The Amlogic C3 ISP driver followed shortly, introducing an extensible
> format for the ISP configuration:
>
> 6d406187ebc0 ("media: uapi: Add stats info and parameters buffer for C3 ISP")
>
> with a very similar, if not identical, implementation of the routines to
> validate and handle the ISP configuration in the ISP driver in the
> c3-isp-params.c file.
>
> fb2e135208f3 ("media: platform: Add C3 ISP driver")
>
> With the recent upstreaming attempt of the Mali C55 ISP driver from Dan,
> a third user of extensible parameters is going to be itroduced in the
> kernel, duplicating again in the driver the procedure for validating and
> handling the ISP configuration blocks
>
> https://patchwork.linuxtv.org/project/linux-media/patch/20250624-c55-v10-15-54f3d4196990@ideasonboard.com/
>
> To avoid duplicating again the validation routines and common types
> definition, this series introduces v4l2-params.c/.h for the kAPI
> and v4l2-extensible-params.h for the uAPI and re-organize the RkISP1
> and Amlogic C3 drivers to use the common types and the helper validation
> routines.
>
> If the here proposed approach is accepted, I propose to rebase the Mali
> C55 driver on top of this series, to use the new common types and
> helpers.
>
> I have been able to test this on RkISP1 but not on C3.
> Keke: would you be able to give this series a try and see what happens ?
I have tested this patch series on C3, the result is OK.
Thanks.
>
> Media CI pipeline:
> https://gitlab.freedesktop.org/linux-media/users/jmondi/-/pipelines/1465950
>
> Thanks
> j
>
> Signed-off-by: Jacopo Mondi <jacopo.mondi@...asonboard.com>
> ---
> Jacopo Mondi (8):
> media: uapi: Introduce V4L2 extensible params
> media: uapi: Convert RkISP1 to V4L2 extensible params
> media: uapi: Convert Amlogic C3 to V4L2 extensible params
> media: Documentation: uapi: Add V4L2 extensible parameters
> media: v4l2-common: Introduce v4l2-params.c
> media: rkisp1: Use v4l2-params for validation
> media: amlogic-c3: Use v4l2-params for validation
> media: Documentation: kapi: Add v4l2 extensible parameters
>
> Documentation/driver-api/media/v4l2-core.rst | 1 +
> Documentation/driver-api/media/v4l2-params.rst | 5 +
> .../media/v4l/extensible-parameters.rst | 89 +++++
> .../userspace-api/media/v4l/meta-formats.rst | 1 +
> MAINTAINERS | 10 +
> .../media/platform/amlogic/c3/isp/c3-isp-params.c | 272 ++++++---------
> .../media/platform/rockchip/rkisp1/rkisp1-params.c | 364 +++++++++------------
> drivers/media/v4l2-core/Makefile | 3 +-
> drivers/media/v4l2-core/v4l2-params.c | 106 ++++++
> include/media/v4l2-params.h | 166 ++++++++++
> include/uapi/linux/media/amlogic/c3-isp-config.h | 45 +--
> include/uapi/linux/media/v4l2-extensible-params.h | 106 ++++++
> include/uapi/linux/rkisp1-config.h | 60 +---
> 13 files changed, 775 insertions(+), 453 deletions(-)
> ---
> base-commit: a8598c7de1bcd94461ca54c972efa9b4ea501fb9
> change-id: 20250701-extensible-parameters-validation-c831f7f5cc0b
>
> Best regards,
> --
> Jacopo Mondi <jacopo.mondi@...asonboard.com>
>
Powered by blists - more mailing lists