Hi Loic, Hans, On 7/29/2026 4:27 PM, [email protected] wrote: > Hi Loic, et.al, > > On 24-Jul-26 14:42, Loic Poulain wrote: >> Add the uapi header camss-ope-config.h defining the ISP parameter >> structures used by the CAMSS Offline Processing Engine (OPE) driver. >> This includes structures for white balance, chroma enhancement and >> color correction configuration. >> >> Signed-off-by: Loic Poulain <[email protected]> >> --- >> include/uapi/linux/camss-ope-config.h | 160 >> ++++++++++++++++++++++++++++++++++ >> 1 file changed, 160 insertions(+) >> >> diff --git a/include/uapi/linux/camss-ope-config.h >> b/include/uapi/linux/camss-ope-config.h >> new file mode 100644 >> index >> 0000000000000000000000000000000000000000..800e6ef1dba218ca33b565e1e51d6647f02f8753 >> --- /dev/null >> +++ b/include/uapi/linux/camss-ope-config.h >> @@ -0,0 +1,160 @@ >> +/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ >> +/* >> + * Qualcomm CAMSS Offline Processing Engine (OPE) ISP parameters UAPI >> + * >> + * Uses the generic V4L2 extensible ISP parameters buffer format defined in >> + * <uapi/linux/media/v4l2-isp.h>. >> + * >> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. >> + */ >> + >> +#ifndef _UAPI_LINUX_CAMSS_OPE_CONFIG_H >> +#define _UAPI_LINUX_CAMSS_OPE_CONFIG_H >> + >> +#include <linux/types.h> >> +#include <linux/media/v4l2-isp.h> >> + >> +/** >> + * enum camss_ope_params_block_type - CAMSS ISP parameter block identifiers >> + * >> + * Each value identifies one ISP processing block. The value is placed in >> + * the @type field of &struct v4l2_isp_params_block_header. >> + */ >> +enum camss_ope_params_block_type { >> + CAMSS_OPE_PARAMS_WB_GAIN = 1, >> + CAMSS_OPE_PARAMS_CHROMA_ENHAN = 2, >> + CAMSS_OPE_PARAMS_COLOR_CORRECT = 3, >> +}; > > I don't think we want this enum to be OPE specific. The whole idea behind > the extensible ISP parameters is that there is a single set of parameter > definitions spanning multiple ISP generations. > > There is going to be a mirroring patch for libcamera defining some C++ > magic around this header: > > https://patchwork.libcamera.org/patch/27430/ > > and this will be used in the camss libcamera IPA and we don't want to > have one version of the libcamera wrapper per ISP "generation". > > So I think this should all be moved back to a generic camss-config.h > (or maybe camss-parameters.h ?) and then if for the planned Hamoa / > Monoca inline ISP work of we need say a new version of CAMSS_PARAMS_WB_GAIN > just add a CAMSS_OPE_PARAMS_WB_GAIN_V2 for that. > > That is the whole idea behind the extensible params, otherwise libcamera > will effectively need to have 1 IPA per ISP generation / type which is > not what we want.
Can we change the name of the header to not be OPE specific. An proposal will be camss-config.h, i believe most of the parameters will be the same for other ISP versions. ~Gjorgji

