Re: [PATCH v2 1/3] media: videodev2.h, v4l2-ioctl: add rkisp1 meta buffer format

From: Hans Verkuil
Date: Thu Nov 05 2020 - 12:43:34 EST


On 30/10/2020 12:22, Helen Koike wrote:
> From: Shunqian Zheng <zhengsq@xxxxxxxxxxxxxx>
>
> Add the Rockchip ISP1 specific processing parameter format
> V4L2_META_FMT_RK_ISP1_PARAMS and metadata format
> V4L2_META_FMT_RK_ISP1_STAT_3A for 3A.
>
> Signed-off-by: Shunqian Zheng <zhengsq@xxxxxxxxxxxxxx>
> Signed-off-by: Jacob Chen <jacob2.chen@xxxxxxxxxxxxxx>
> Signed-off-by: Helen Koike <helen.koike@xxxxxxxxxxxxx>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
>
> ---
> Hello,
>
> This patch is a continuation of:
>
> https://patchwork.kernel.org/project/linux-arm-kernel/patch/20191106120132.6876-2-helen.koike@xxxxxxxxxxxxx/
>
> These formats are already documented under
> Documentation/userspace-api/media/v4l/pixfmt-meta-rkisp1.rst
>
> We had agreed to keep under
> drivers/staging/media/rkisp1/uapi/rkisp1-config.h while the driver was
> in staging, since we are moving it out of staging, I guess this is the
> time :)
>
> Regards,
> Helen
> ---
> drivers/media/v4l2-core/v4l2-ioctl.c | 2 ++
> drivers/staging/media/rkisp1/uapi/rkisp1-config.h | 4 ----
> include/uapi/linux/videodev2.h | 4 ++++
> 3 files changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c
> index eeff398fbdcc1..202597d031c6b 100644
> --- a/drivers/media/v4l2-core/v4l2-ioctl.c
> +++ b/drivers/media/v4l2-core/v4l2-ioctl.c
> @@ -1402,6 +1402,8 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)
> case V4L2_META_FMT_UVC: descr = "UVC Payload Header Metadata"; break;
> case V4L2_META_FMT_D4XX: descr = "Intel D4xx UVC Metadata"; break;
> case V4L2_META_FMT_VIVID: descr = "Vivid Metadata"; break;
> + case V4L2_META_FMT_RK_ISP1_PARAMS: descr = "Rockchip ISP1 3A params"; break;
> + case V4L2_META_FMT_RK_ISP1_STAT_3A: descr = "Rockchip ISP1 3A statistics"; break;

Use 'Params' and 'Statistics' to conform to the other descriptions.

Regards,

Hans

>
> default:
> /* Compressed formats */
> diff --git a/drivers/staging/media/rkisp1/uapi/rkisp1-config.h b/drivers/staging/media/rkisp1/uapi/rkisp1-config.h
> index 8d906cc7da8fc..6e449e7842605 100644
> --- a/drivers/staging/media/rkisp1/uapi/rkisp1-config.h
> +++ b/drivers/staging/media/rkisp1/uapi/rkisp1-config.h
> @@ -9,10 +9,6 @@
>
> #include <linux/types.h>
>
> -/* Vendor specific - used for RK_ISP1 camera sub-system */
> -#define V4L2_META_FMT_RK_ISP1_PARAMS v4l2_fourcc('R', 'K', '1', 'P') /* Rockchip ISP1 params */
> -#define V4L2_META_FMT_RK_ISP1_STAT_3A v4l2_fourcc('R', 'K', '1', 'S') /* Rockchip ISP1 3A statistics */
> -
> /* Defect Pixel Cluster Detection */
> #define RKISP1_CIF_ISP_MODULE_DPCC (1U << 0)
> /* Black Level Subtraction */
> diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
> index 534eaa4d39bc8..c2e13ba81196b 100644
> --- a/include/uapi/linux/videodev2.h
> +++ b/include/uapi/linux/videodev2.h
> @@ -770,6 +770,10 @@ struct v4l2_pix_format {
> #define V4L2_META_FMT_D4XX v4l2_fourcc('D', '4', 'X', 'X') /* D4XX Payload Header metadata */
> #define V4L2_META_FMT_VIVID v4l2_fourcc('V', 'I', 'V', 'D') /* Vivid Metadata */
>
> +/* Vendor specific - used for RK_ISP1 camera sub-system */
> +#define V4L2_META_FMT_RK_ISP1_PARAMS v4l2_fourcc('R', 'K', '1', 'P') /* Rockchip ISP1 params */
> +#define V4L2_META_FMT_RK_ISP1_STAT_3A v4l2_fourcc('R', 'K', '1', 'S') /* Rockchip ISP1 3A statistics */
> +
> /* priv field value to indicates that subsequent fields are valid. */
> #define V4L2_PIX_FMT_PRIV_MAGIC 0xfeedcafe
>
>