[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <330f06069eaa7b6843709bb0d29c3ad5f23a4f3c.camel@mediatek.com>
Date: Mon, 14 Oct 2024 05:21:21 +0000
From: CK Hu (胡俊光) <ck.hu@...iatek.com>
To: "sumit.semwal@...aro.org" <sumit.semwal@...aro.org>,
"christian.koenig@....com" <christian.koenig@....com>, "mchehab@...nel.org"
<mchehab@...nel.org>, "conor+dt@...nel.org" <conor+dt@...nel.org>,
"robh@...nel.org" <robh@...nel.org>, "matthias.bgg@...il.com"
<matthias.bgg@...il.com>, "krzk+dt@...nel.org" <krzk+dt@...nel.org>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>,
Shu-hsiang Yang (楊舒翔)
<Shu-hsiang.Yang@...iatek.com>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-mediatek@...ts.infradead.org" <linux-mediatek@...ts.infradead.org>,
"yunkec@...omium.org" <yunkec@...omium.org>, "linaro-mm-sig@...ts.linaro.org"
<linaro-mm-sig@...ts.linaro.org>, "linux-media@...r.kernel.org"
<linux-media@...r.kernel.org>, "devicetree@...r.kernel.org"
<devicetree@...r.kernel.org>, Yaya Chang (張雅清)
<Yaya.Chang@...iatek.com>, Project_Global_Chrome_Upstream_Group
<Project_Global_Chrome_Upstream_Group@...iatek.com>,
"dri-devel@...ts.freedesktop.org" <dri-devel@...ts.freedesktop.org>,
Teddy Chen (陳乾元) <Teddy.Chen@...iatek.com>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>, "hidenorik@...omium.org"
<hidenorik@...omium.org>, Shun-Yi Wang (王順億)
<Shun-Yi.Wang@...iatek.com>
Subject: Re: [PATCH v1 06/10] media: platform: mediatek: add isp_7x utility
Hi, Shu-hsiang:
On Wed, 2024-10-09 at 19:15 +0800, Shu-hsiang Yang wrote:
> Introduces utility files for the MediaTek ISP7.x camsys driver. These
> utilities provide essential platform definitions, debugging tools, and
> management functions to support ISP operations and SCP communication.
> Key functionalities include:
> 1.Hardware pipeline and register definitions for managing image
> processing modules.
> 2.DMA debugging utilities and buffer management functions.
> 3.Definitions of supported image formats for proper data handling.
> 4.IPI and SCP communication structures for module state management and
> configuring ISP.
> 5.Metadata parameters for configuring image processing.
>
> Signed-off-by: Shu-hsiang Yang <Shu-hsiang.Yang@...iatek.com>
> ---
[snip]
> +/*
> + * V 4 L 2 M E T A B U F F E R L A Y O U T
> + */
> +
> +/*
> + * struct mtk_cam_uapi_meta_raw_stats_cfg
> + *
> + * @ae_awb_enable: To indicate if AE and AWB should be enblaed or not. If
> + * it is 1, it means that we enable the following parts of
> + * hardware:
> + * (1) AE/AWB
> + * (2) aao
> + * (3) aaho
> + * @af_enable: To indicate if AF should be enabled or not. If it is 1,
> + * it means that the AF and afo is enabled.
> + * @dgn_enable: To indicate if dgn module should be enabled or not.
> + * @flk_enable: If it is 1, it means flk and flko is enable. If ie is 0,
> + * both flk and flko is disabled.
> + * @tsf_enable: If it is 1, it means tsfs and tsfso is enable. If ie is 0,
> + * both tsfs and tsfso is disabled.
> + * @wb_enable: To indicate if wb module should be enabled or not.
> + * @pde_enable: To indicate if pde module should be enabled or not.
> + * @ae_param: AE Statistic window config
> + * @awb_param: AWB statistic configuration control
> + * @dgn_param: DGN settings
> + * @flk_param: Flicker statistic configuration
> + * @tsf_param: tsf statistic configuration
> + * @wb_param: WB settings
> + * @pde_param: pde settings
> + */
> +struct mtk_cam_uapi_meta_raw_stats_cfg {
struct mtk_cam_uapi_meta_raw_stats_cfg{} is useless, so drop it.
Regards,
CK
> + s8 ae_awb_enable;
> + s8 af_enable;
> + s8 dgn_enable;
> + s8 flk_enable;
> + s8 tsf_enable;
> + s8 wb_enable;
> + s8 pde_enable;
> + u8 rsv;
> +
> + struct mtk_cam_uapi_ae_param ae_param;
> + struct mtk_cam_uapi_awb_param awb_param;
> + struct mtk_cam_uapi_af_param af_param;
> + struct mtk_cam_uapi_dgn_param dgn_param;
> + struct mtk_cam_uapi_flk_param flk_param;
> + struct mtk_cam_uapi_tsf_param tsf_param;
> + struct mtk_cam_uapi_wb_param wb_param;
> + struct mtk_cam_uapi_pde_param pde_param;
> +
> + struct mtk_cam_uapi_prot {
> + /* The following top control are generated by script */
> + u8 drzh2n_r1_tuning_enable;
> + u8 drzh2n_r2_tuning_enable;
> + u8 drzh2n_r3_tuning_enable;
> + u8 drzh2n_r4_tuning_enable;
> + u8 drzh2n_r5_tuning_enable;
> + u8 drzh2n_r6_tuning_enable;
> + u8 drzh2n_r7_tuning_enable;
> + u8 drzh2n_r8_tuning_enable;
> + u8 drzs4n_r1_tuning_enable;
> + u8 drzs4n_r2_tuning_enable;
> + u8 drzs4n_r3_tuning_enable;
> + u8 dm_tuning_enable;
> + u8 drzs8t_r1_tuning_enable;
> + u8 drzs8t_r2_tuning_enable;
> + u8 ggm_r1_tuning_enable;
> + u8 ggm_r2_tuning_enable;
> + u8 ggm_r3_tuning_enable;
> + u8 bpc_r1_enable;
> + u8 bpc_r2_enable;
> + u8 ccm_r1_enable;
> + u8 ccm_r2_enable;
> + u8 ccm_r3_enable;
> + u8 fus_enable;
> + u8 g2c_r1_enable;
> + u8 g2c_r2_enable;
> + u8 g2c_r3_enable;
> + u8 hlr_enable;
> + u8 lsc_enable;
> + u8 ltm_enable;
> + u8 ltms_enable;
> + u8 obc_r1_enable;
> + u8 obc_r2_enable;
> + u8 tcy_r1_enable;
> + u8 tcy_r2_enable;
> + u8 tcy_r3_enable;
> + u8 tncs_r1_enable;
> +
> + struct mtk_cam_uapi_ccm_param_prot ccm_r1_param;
> + struct mtk_cam_uapi_ccm_param_prot ccm_r2_param;
> + struct mtk_cam_uapi_ccm_param_prot ccm_r3_param;
> + struct mtk_cam_uapi_drzh2n_param_prot drzh2n_r1_param;
> + struct mtk_cam_uapi_drzh2n_param_prot drzh2n_r2_param;
> + struct mtk_cam_uapi_drzh2n_param_prot drzh2n_r3_param;
> + struct mtk_cam_uapi_drzh2n_param_prot drzh2n_r4_param;
> + struct mtk_cam_uapi_drzh2n_param_prot drzh2n_r5_param;
> + struct mtk_cam_uapi_drzh2n_param_prot drzh2n_r6_param;
> + struct mtk_cam_uapi_drzh2n_param_prot drzh2n_r7_param;
> + struct mtk_cam_uapi_drzh2n_param_prot drzh2n_r8_param;
> + struct mtk_cam_uapi_drzs4n_param_prot drzs4n_r1_param;
> + struct mtk_cam_uapi_drzs4n_param_prot drzs4n_r2_param;
> + struct mtk_cam_uapi_drzs4n_param_prot drzs4n_r3_param;
> + struct mtk_cam_uapi_tncs_param_prot tncs_param;
> + /* script generation done */
> + struct mtk_cam_uapi_drzs8t_param_prot drzs8t_r1_param;
> + struct mtk_cam_uapi_drzs8t_param_prot drzs8t_r2_param;
> + struct mtk_cam_uapi_awb_param_prot awb_param;
> + struct mtk_cam_uapi_bpc_param_prot bpc_param;
> + struct mtk_cam_uapi_lsc_param_prot lsc_param;
> + struct mtk_cam_uapi_slk_param_prot slk_param;
> + struct mtk_cam_uapi_wb_param_prot wb_param;
> + struct mtk_cam_uapi_ltms_param_prot ltms_param;
> + struct mtk_cam_uapi_yuvo_param_prot yuvo_r2_param;
> + struct mtk_cam_uapi_yuvo_param_prot yuvo_r4_param;
> + /* The following module stuctures are generated by script */
> + struct mtk_cam_uapi_regmap_raw_bpc bpc_r1;
> + struct mtk_cam_uapi_regmap_raw_bpc bpc_r2;
> + struct mtk_cam_uapi_regmap_raw_ccm ccm_r1;
> + struct mtk_cam_uapi_regmap_raw_ccm ccm_r2;
> + struct mtk_cam_uapi_regmap_raw_ccm ccm_r3;
> + struct mtk_cam_uapi_regmap_raw_dm dm_r1;
> + u8 rsv1[116];
> + struct mtk_cam_uapi_regmap_raw_g2c g2c_r1;
> + struct mtk_cam_uapi_regmap_raw_g2c g2c_r2;
> + struct mtk_cam_uapi_regmap_raw_g2c g2c_r3;
> + struct mtk_cam_uapi_regmap_raw_ggm ggm_r1;
> + struct mtk_cam_uapi_regmap_raw_ggm ggm_r2;
> + struct mtk_cam_uapi_regmap_raw_ggm ggm_r3;
> + u8 rsv2[68];
> + struct mtk_cam_uapi_regmap_raw_lsc lsc_r1;
> + struct mtk_cam_uapi_regmap_raw_ltm ltm_r1;
> + struct mtk_cam_uapi_regmap_raw_ltms ltms_r1;
> + struct mtk_cam_uapi_regmap_raw_obc obc_r1;
> + struct mtk_cam_uapi_regmap_raw_obc obc_r2;
> + u8 rsv3[1420];
> + struct mtk_cam_uapi_regmap_raw_tsfs tsfs_r1;
> + u8 rsv4[50080];
> + /* script generation done */
> + } __packed prot;
> +} __packed;
> +
Powered by blists - more mailing lists