Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

media: uapi: Add controls for Mali-C55 ISP

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.

Tested-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>

authored by

Daniel Scally and committed by
Hans Verkuil
8d0bbed2 37437647

+88
+1
Documentation/userspace-api/media/drivers/index.rst
··· 32 32 cx2341x-uapi 33 33 dw100 34 34 imx-uapi 35 + mali-c55 35 36 max2175 36 37 npcm-video 37 38 omap3isp-uapi
+55
Documentation/userspace-api/media/drivers/mali-c55.rst
··· 1 + .. SPDX-License-Identifier: GPL-2.0-only 2 + 3 + Arm Mali-C55 ISP driver 4 + ======================= 5 + 6 + The Arm Mali-C55 ISP driver implements a single driver-specific control: 7 + 8 + ``V4L2_CID_MALI_C55_CAPABILITIES (bitmask)`` 9 + Detail the capabilities of the ISP by giving detail about the fitted blocks. 10 + 11 + .. flat-table:: Bitmask meaning definitions 12 + :header-rows: 1 13 + :widths: 2 4 8 14 + 15 + * - Bit 16 + - Macro 17 + - Meaning 18 + * - 0 19 + - MALI_C55_PONG 20 + - Pong configuration space is fitted in the ISP 21 + * - 1 22 + - MALI_C55_WDR 23 + - WDR Framestitch, offset and gain is fitted in the ISP 24 + * - 2 25 + - MALI_C55_COMPRESSION 26 + - Temper compression is fitted in the ISP 27 + * - 3 28 + - MALI_C55_TEMPER 29 + - Temper is fitted in the ISP 30 + * - 4 31 + - MALI_C55_SINTER_LITE 32 + - Sinter Lite is fitted in the ISP instead of the full Sinter version 33 + * - 5 34 + - MALI_C55_SINTER 35 + - Sinter is fitted in the ISP 36 + * - 6 37 + - MALI_C55_IRIDIX_LTM 38 + - Iridix local tone mappine is fitted in the ISP 39 + * - 7 40 + - MALI_C55_IRIDIX_GTM 41 + - Iridix global tone mapping is fitted in the ISP 42 + * - 8 43 + - MALI_C55_CNR 44 + - Colour noise reduction is fitted in the ISP 45 + * - 9 46 + - MALI_C55_FRSCALER 47 + - The full resolution pipe scaler is fitted in the ISP 48 + * - 10 49 + - MALI_C55_DS_PIPE 50 + - The downscale pipe is fitted in the ISP 51 + 52 + The Mali-C55 ISP can be configured in a number of ways to include or exclude 53 + blocks which may not be necessary. This control provides a way for the 54 + driver to communicate to userspace which of the blocks are fitted in the 55 + design.
+26
include/uapi/linux/media/arm/mali-c55-config.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 + /* 3 + * ARM Mali-C55 ISP Driver - Userspace API 4 + * 5 + * Copyright (C) 2023 Ideas on Board Oy 6 + */ 7 + 8 + #ifndef __UAPI_MALI_C55_CONFIG_H 9 + #define __UAPI_MALI_C55_CONFIG_H 10 + 11 + #include <linux/v4l2-controls.h> 12 + 13 + #define V4L2_CID_MALI_C55_CAPABILITIES (V4L2_CID_USER_MALI_C55_BASE + 0x0) 14 + #define MALI_C55_GPS_PONG (1U << 0) 15 + #define MALI_C55_GPS_WDR (1U << 1) 16 + #define MALI_C55_GPS_COMPRESSION (1U << 2) 17 + #define MALI_C55_GPS_TEMPER (1U << 3) 18 + #define MALI_C55_GPS_SINTER_LITE (1U << 4) 19 + #define MALI_C55_GPS_SINTER (1U << 5) 20 + #define MALI_C55_GPS_IRIDIX_LTM (1U << 6) 21 + #define MALI_C55_GPS_IRIDIX_GTM (1U << 7) 22 + #define MALI_C55_GPS_CNR (1U << 8) 23 + #define MALI_C55_GPS_FRSCALER (1U << 9) 24 + #define MALI_C55_GPS_DS_PIPE (1U << 10) 25 + 26 + #endif /* __UAPI_MALI_C55_CONFIG_H */
+6
include/uapi/linux/v4l2-controls.h
··· 228 228 */ 229 229 #define V4L2_CID_USER_RKISP1_BASE (V4L2_CID_USER_BASE + 0x1220) 230 230 231 + /* 232 + * The base for the Arm Mali-C55 ISP driver controls. 233 + * We reserve 16 controls for this driver 234 + */ 235 + #define V4L2_CID_USER_MALI_C55_BASE (V4L2_CID_USER_BASE + 0x1230) 236 + 231 237 /* MPEG-class control IDs */ 232 238 /* The MPEG controls are applicable to all codec controls 233 239 * and the 'MPEG' part of the define is historical */