devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sakari Ailus <sakari.ailus@linux.intel.com>
To: Daniel Scally <dan.scally@ideasonboard.com>,
	linux-media@vger.kernel.org, devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Cc: Anthony.McGivern@arm.com, jacopo.mondi@ideasonboard.com,
	nayden.kanchev@arm.com, robh+dt@kernel.org, mchehab@kernel.org,
	krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org,
	jerome.forissier@linaro.org, kieran.bingham@ideasonboard.com,
	laurent.pinchart@ideasonboard.com
Subject: Re: [PATCH v10 06/17] media: uapi: Add controls for Mali-C55 ISP
Date: Sat, 28 Jun 2025 22:29:56 +0300	[thread overview]
Message-ID: <79e89e5a-c588-4e61-9400-80ac2fe707da@linux.intel.com> (raw)
In-Reply-To: <20250624-c55-v10-6-54f3d4196990@ideasonboard.com>

Hi Daniel,

Thanks for the update.

On 6/24/25 13:21, Daniel Scally wrote:
> Add definitions and documentation for the custom control that will
> be needed by the Mali-C55 ISP driver. This will be a read only
> bitmask of the driver's capabilities, informing userspace of which
> blocks are fitted and which are absent.
> 
> Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>
> ---
> Changes in v10:
> 
> 	- None
> 
> Changes in v9:
> 
> 	- New patch
> ---
>   .../userspace-api/media/drivers/index.rst          |  1 +
>   .../userspace-api/media/drivers/mali-c55.rst       | 55 ++++++++++++++++++++++
>   include/uapi/linux/media/arm/mali-c55-config.h     | 26 ++++++++++
>   include/uapi/linux/v4l2-controls.h                 |  6 +++
>   4 files changed, 88 insertions(+)
> 
> diff --git a/Documentation/userspace-api/media/drivers/index.rst b/Documentation/userspace-api/media/drivers/index.rst
> index d706cb47b1122b6e145a02ab826eb3ecc7997c2b..02967c9b18d6e90f414ccc1329c09bffee895e68 100644
> --- a/Documentation/userspace-api/media/drivers/index.rst
> +++ b/Documentation/userspace-api/media/drivers/index.rst
> @@ -32,6 +32,7 @@ For more details see the file COPYING in the source distribution of Linux.
>   	cx2341x-uapi
>   	dw100
>   	imx-uapi
> +	mali-c55
>   	max2175
>   	npcm-video
>   	omap3isp-uapi
> diff --git a/Documentation/userspace-api/media/drivers/mali-c55.rst b/Documentation/userspace-api/media/drivers/mali-c55.rst
> new file mode 100644
> index 0000000000000000000000000000000000000000..e8519da77d737b91a931bbe47920af707eebf110
> --- /dev/null
> +++ b/Documentation/userspace-api/media/drivers/mali-c55.rst
> @@ -0,0 +1,55 @@
> +.. SPDX-License-Identifier: GPL-2.0-only
> +
> +Arm Mali-C55 ISP driver
> +=======================
> +
> +The Arm Mali-C55 ISP driver implements a single driver-specific control:
> +
> +``V4L2_CID_MALI_C55_CAPABILITIES``

Add: (integer)

?

> +    Detail the capabilities of the ISP by giving detail about the fitted blocks.
> +
> +    .. flat-table:: Bitmask meaning definitions
> +	:header-rows: 1
> +	:widths: 2 4 8
> +
> +	* - Bit
> +	  - Macro
> +	  - Meaning
> +        * - 0
> +          - MALI_C55_GPS_PONG_FITTED

How about a V4L2 prefix for these? Generally the controls have been 
V4L2_CID_something and the macros for the possible values have been 
named V4L2_something.

> +          - Pong configuration space is fitted in the ISP
> +        * - 1
> +          - MALI_C55_GPS_WDR_FITTED
> +          - WDR Framestitch, offset and gain is fitted in the ISP
> +        * - 2
> +          - MALI_C55_GPS_COMPRESSION_FITTED
> +          - Temper compression is fitted in the ISP
> +        * - 3
> +          - MALI_C55_GPS_TEMPER_FITTED
> +          - Temper is fitted in the ISP
> +        * - 4
> +          - MALI_C55_GPS_SINTER_LITE_FITTED
> +          - Sinter Lite is fitted in the ISP instead of the full Sinter version
> +        * - 5
> +          - MALI_C55_GPS_SINTER_FITTED
> +          - Sinter is fitted in the ISP
> +        * - 6
> +          - MALI_C55_GPS_IRIDIX_LTM_FITTED
> +          - Iridix local tone mappine is fitted in the ISP
> +        * - 7
> +          - MALI_C55_GPS_IRIDIX_GTM_FITTED
> +          - Iridix global tone mapping is fitted in the ISP
> +        * - 8
> +          - MALI_C55_GPS_CNR_FITTED
> +          - Colour noise reduction is fitted in the ISP
> +        * - 9
> +          - MALI_C55_GPS_FRSCALER_FITTED
> +          - The full resolution pipe scaler is fitted in the ISP
> +        * - 10
> +          - MALI_C55_GPS_DS_PIPE_FITTED
> +          - The downscale pipe is fitted in the ISP
> +
> +    The Mali-C55 ISP can be configured in a number of ways to include or exclude
> +    blocks which may not be necessary. This control provides a way for the
> +    driver to communicate to userspace which of the blocks are fitted in the
> +    design.
> \ No newline at end of file

Oops.

> diff --git a/include/uapi/linux/media/arm/mali-c55-config.h b/include/uapi/linux/media/arm/mali-c55-config.h
> new file mode 100644
> index 0000000000000000000000000000000000000000..2bd60a0d78786be368c2e51b1a0a63fd2a5f690b
> --- /dev/null
> +++ b/include/uapi/linux/media/arm/mali-c55-config.h
> @@ -0,0 +1,26 @@
> +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
> +/*
> + * ARM Mali-C55 ISP Driver - Userspace API
> + *
> + * Copyright (C) 2023 Ideas on Board Oy
> + */
> +
> +#ifndef __UAPI_MALI_C55_CONFIG_H
> +#define __UAPI_MALI_C55_CONFIG_H
> +
> +#include <linux/v4l2-controls.h>
> +
> +#define V4L2_CID_MALI_C55_CAPABILITIES		(V4L2_CID_USER_MALI_C55_BASE + 0x0)
> +#define MALI_C55_GPS_PONG_FITTED		BIT(0)

Since when has been BIT() defined for UAPI? (1U << x)?

> +#define MALI_C55_GPS_WDR_FITTED			BIT(1)
> +#define MALI_C55_GPS_COMPRESSION_FITTED		BIT(2)
> +#define MALI_C55_GPS_TEMPER_FITTED		BIT(3)
> +#define MALI_C55_GPS_SINTER_LITE_FITTED		BIT(4)
> +#define MALI_C55_GPS_SINTER_FITTED		BIT(5)
> +#define MALI_C55_GPS_IRIDIX_LTM_FITTED		BIT(6)
> +#define MALI_C55_GPS_IRIDIX_GTM_FITTED		BIT(7)
> +#define MALI_C55_GPS_CNR_FITTED			BIT(8)
> +#define MALI_C55_GPS_FRSCALER_FITTED		BIT(9)
> +#define MALI_C55_GPS_DS_PIPE_FITTED		BIT(10)
> +
> +#endif /* __UAPI_MALI_C55_CONFIG_H */
> diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h
> index 72e32814ea83dee5f1202c1249eac7cf3b85a22a..a31105115410bd041a3ac492ce86becd93a62d87 100644
> --- a/include/uapi/linux/v4l2-controls.h
> +++ b/include/uapi/linux/v4l2-controls.h
> @@ -222,6 +222,12 @@ enum v4l2_colorfx {
>    */
>   #define V4L2_CID_USER_UVC_BASE			(V4L2_CID_USER_BASE + 0x11e0)
>   
> +/*
> + * The base for the Arm Mali-C55 ISP driver controls.
> + * We reserve 8 controls for this driver
> + */
> +#define V4L2_CID_USER_MALI_C55_BASE		(V4L2_CID_USER_BASE + 0x1220)
> +
>   /* MPEG-class control IDs */
>   /* The MPEG controls are applicable to all codec controls
>    * and the 'MPEG' part of the define is historical */
> 


-- 
Sakari Ailus

  reply	other threads:[~2025-06-28 20:08 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-24 10:21 [PATCH v10 00/17] Add Arm Mali-C55 Image Signal Processor Driver Daniel Scally
2025-06-24 10:21 ` [PATCH v10 01/17] media: uapi: Add MEDIA_BUS_FMT_RGB202020_1X60 format code Daniel Scally
2025-06-24 10:21 ` [PATCH v10 02/17] media: uapi: Add 20-bit bayer formats Daniel Scally
2025-06-24 10:21 ` [PATCH v10 03/17] media: v4l2-common: Add RAW16 format info Daniel Scally
2025-06-24 10:21 ` [PATCH v10 04/17] media: v4l2-common: Add RAW14 " Daniel Scally
2025-06-24 10:21 ` [PATCH v10 05/17] dt-bindings: media: Add bindings for ARM mali-c55 Daniel Scally
2025-06-25  3:27   ` Rob Herring
2025-06-25  9:05   ` Krzysztof Kozlowski
2025-06-25  9:08     ` Krzysztof Kozlowski
2025-06-25  9:46       ` Dan Scally
2025-07-10 15:19       ` Dan Scally
2025-06-24 10:21 ` [PATCH v10 06/17] media: uapi: Add controls for Mali-C55 ISP Daniel Scally
2025-06-28 19:29   ` Sakari Ailus [this message]
2025-06-24 10:21 ` [PATCH v10 07/17] media: mali-c55: Add Mali-C55 ISP driver Daniel Scally
2025-06-28 20:06   ` Sakari Ailus
2025-06-29 18:35     ` Laurent Pinchart
2025-06-30  7:37       ` Sakari Ailus
2025-06-30  8:35         ` Laurent Pinchart
2025-06-30 10:16           ` Dan Scally
2025-06-30 10:29           ` Sakari Ailus
2025-06-30 10:14     ` Dan Scally
2025-06-24 10:21 ` [PATCH v10 08/17] media: Documentation: Add Mali-C55 ISP Documentation Daniel Scally
2025-06-24 10:21 ` [PATCH v10 09/17] MAINTAINERS: Add entry for mali-c55 driver Daniel Scally
2025-06-24 10:21 ` [PATCH v10 10/17] media: Add MALI_C55_3A_STATS meta format Daniel Scally
2025-06-24 10:21 ` [PATCH v10 11/17] media: uapi: Add 3a stats buffer for mali-c55 Daniel Scally
2025-06-24 10:21 ` [PATCH v10 12/17] media: platform: Add mali-c55 3a stats devnode Daniel Scally
2025-06-24 10:21 ` [PATCH v10 13/17] Documentation: mali-c55: Add Statistics documentation Daniel Scally
2025-06-24 10:21 ` [PATCH v10 14/17] media: mali-c55: Add image formats for Mali-C55 parameters buffer Daniel Scally
2025-06-24 10:21 ` [PATCH v10 15/17] media: uapi: Add parameters structs to mali-c55-config.h Daniel Scally
2025-06-24 10:21 ` [PATCH v10 16/17] media: platform: Add mali-c55 parameters video node Daniel Scally
2025-06-29 11:27   ` Sakari Ailus
2025-06-30 10:40     ` Dan Scally
2025-06-30 13:59     ` Jacopo Mondi
2025-06-30 14:52       ` Sakari Ailus
2025-06-24 10:21 ` [PATCH v10 17/17] Documentation: mali-c55: Document the mali-c55 parameter setting Daniel Scally

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=79e89e5a-c588-4e61-9400-80ac2fe707da@linux.intel.com \
    --to=sakari.ailus@linux.intel.com \
    --cc=Anthony.McGivern@arm.com \
    --cc=conor+dt@kernel.org \
    --cc=dan.scally@ideasonboard.com \
    --cc=devicetree@vger.kernel.org \
    --cc=jacopo.mondi@ideasonboard.com \
    --cc=jerome.forissier@linaro.org \
    --cc=kieran.bingham@ideasonboard.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=nayden.kanchev@arm.com \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).