[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <9ec4cdb2a5f86c045ec8ddb24de1545225c35d78.camel@mediatek.com>
Date: Mon, 28 Oct 2024 06:48:40 +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 04/10] media: platform: mediatek: add isp_7x cam-raw
unit
Hi, Shu-hsiang:
On Wed, 2024-10-09 at 19:15 +0800, Shu-hsiang Yang wrote:
> Introduces the ISP pipeline driver for the MediaTek ISP raw and yuv
> modules. Key functionalities include data processing, V4L2 integration,
> resource management, debug support, and various control operations.
> Additionally, IRQ handling, platform device management, and MediaTek
> ISP DMA format support are also included.
>
> Signed-off-by: Shu-hsiang Yang <Shu-hsiang.Yang@...iatek.com>
> ---
[snip]
> +
> +static const struct mtk_cam_format_desc yuv_out_group2_fmts[] = {
> + {
> + .vfmt.fmt.pix_mp = {
> + .width = YUV_GROUP2_MAX_WIDTH,
> + .height = YUV_GROUP2_MAX_HEIGHT,
I don't know why you define width and height here.
All width/height of yuv_out_group2_fmts are the same.
And the max width/height is define in capture_queues[].frmsizes.
So the width/height could be dropped here.
Regards,
CK
> + .pixelformat = V4L2_PIX_FMT_NV12,
> + },
> + },
> + {
> + .vfmt.fmt.pix_mp = {
> + .width = YUV_GROUP2_MAX_WIDTH,
> + .height = YUV_GROUP2_MAX_HEIGHT,
> + .pixelformat = V4L2_PIX_FMT_NV21,
> + },
> + },
> + {
> + .vfmt.fmt.pix_mp = {
> + .width = YUV_GROUP2_MAX_WIDTH,
> + .height = YUV_GROUP2_MAX_HEIGHT,
> + .pixelformat = V4L2_PIX_FMT_NV12_10,
> + },
> + },
> + {
> + .vfmt.fmt.pix_mp = {
> + .width = YUV_GROUP2_MAX_WIDTH,
> + .height = YUV_GROUP2_MAX_HEIGHT,
> + .pixelformat = V4L2_PIX_FMT_NV21_10,
> + },
> + },
> + {
> + .vfmt.fmt.pix_mp = {
> + .width = YUV_GROUP2_MAX_WIDTH,
> + .height = YUV_GROUP2_MAX_HEIGHT,
> + .pixelformat = V4L2_PIX_FMT_MTISP_NV12_10P,
> + },
> + },
> + {
> + .vfmt.fmt.pix_mp = {
> + .width = YUV_GROUP2_MAX_WIDTH,
> + .height = YUV_GROUP2_MAX_HEIGHT,
> + .pixelformat = V4L2_PIX_FMT_MTISP_NV21_10P,
> + },
> + },
> + {
> + .vfmt.fmt.pix_mp = {
> + .width = YUV_GROUP2_MAX_WIDTH,
> + .height = YUV_GROUP2_MAX_HEIGHT,
> + .pixelformat = V4L2_PIX_FMT_NV12_12,
> + },
> + },
> + {
> + .vfmt.fmt.pix_mp = {
> + .width = YUV_GROUP2_MAX_WIDTH,
> + .height = YUV_GROUP2_MAX_HEIGHT,
> + .pixelformat = V4L2_PIX_FMT_NV21_12,
> + },
> + },
> + {
> + .vfmt.fmt.pix_mp = {
> + .width = YUV_GROUP2_MAX_WIDTH,
> + .height = YUV_GROUP2_MAX_HEIGHT,
> + .pixelformat = V4L2_PIX_FMT_MTISP_NV12_12P,
> + },
> + },
> + {
> + .vfmt.fmt.pix_mp = {
> + .width = YUV_GROUP2_MAX_WIDTH,
> + .height = YUV_GROUP2_MAX_HEIGHT,
> + .pixelformat = V4L2_PIX_FMT_MTISP_NV21_12P,
> + },
> + }
> +};
> +
[snip]
> +#define MTK_RAW_TOTAL_CAPTURE_QUEUES 15
> +static const struct
> +mtk_cam_dev_node_desc capture_queues[] = {
>
[snip]
> + {
> + .id = MTK_RAW_YUVO_2_OUT,
> + .name = "yuvo 2",
> + .cap = V4L2_CAP_VIDEO_CAPTURE_MPLANE,
> + .buf_type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE,
> + .link_flags = MEDIA_LNK_FL_ENABLED | MEDIA_LNK_FL_IMMUTABLE,
> + .image = true,
> + .smem_alloc = false,
> + .dma_port = MTKCAM_IPI_RAW_YUVO_2,
> + .fmts = yuv_out_group2_fmts,
> + .num_fmts = ARRAY_SIZE(yuv_out_group2_fmts),
> + .default_fmt_idx = 0,
> + .pad_ops = &source_pad_ops_yuv,
> + .ioctl_ops = &mtk_cam_v4l2_vcap_ioctl_ops,
> + .frmsizes = &(struct v4l2_frmsizeenum) {
> + .index = 0,
> + .type = V4L2_FRMSIZE_TYPE_CONTINUOUS,
> + .stepwise = {
> + .max_width = YUV_GROUP2_MAX_WIDTH,
> + .min_width = IMG_MIN_WIDTH,
> + .max_height = YUV_GROUP2_MAX_HEIGHT,
> + .min_height = IMG_MIN_HEIGHT,
> + .step_height = 1,
> + .step_width = 1,
> + },
> + },
> + },
> +};
> +
Powered by blists - more mailing lists