From: Jerry-ch Chen <Jerry-ch.Chen@mediatek.com>
To: "hans.verkuil@cisco.com" <hans.verkuil@cisco.com>
Cc: "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"Sean Cheng (鄭昇弘)" <Sean.Cheng@mediatek.com>,
"laurent.pinchart+renesas@ideasonboard.com"
<laurent.pinchart+renesas@ideasonboard.com>,
"zwisler@chromium.org" <zwisler@chromium.org>,
srv_heupstream <srv_heupstream@mediatek.com>,
"tfiga@chromium.org" <tfiga@chromium.org>,
"Jungo Lin (林明俊)" <jungo.lin@mediatek.com>,
"Sj Huang (黃信璋)" <sj.huang@mediatek.com>,
"yuzhao@chromium.org" <yuzhao@chromium.org>,
"linux-mediatek@lists.infradead.org"
<linux-mediatek@lists.infradead.org>,
"pihsun@chromium.org" <pihsun@chromium.org>,
"Frederic Chen (陳俊元)" <Frederic.Chen@mediatek.com>,
"matthias.bgg@gmail.com" <matthias.bgg@gmail.com>,
"Christie Yu (游雅惠)" <christie.yu@mediatek.com>,
"mchehab@kernel.org" <mchehab@kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>
Subject: Re: [RFC PATCH V4 0/4] media: platform: Add support for Face Detection (FD) on mt8183 SoC
Date: Fri, 8 May 2020 10:02:51 +0800 [thread overview]
Message-ID: <1588903371.16825.14.camel@mtksdccf07> (raw)
In-Reply-To: <20191204124732.10932-1-Jerry-Ch.chen@mediatek.com>
Hi Laurent, Tomasz, Matthias,
gentle ping for this patch set,
If no new comments, I would like to send a newer version.
Thanks and Best Regards,
Jerry
On Wed, 2019-12-04 at 20:47 +0800, Jerry-ch Chen wrote:
> Hello,
>
> This RFC patch series is adding Face Detection (FD) driver on Mediatek
> mt8183 SoC. It belongs to the first Mediatek's camera driver series based
> on V4L2 and media controller framework. I posted the main part of the FD
> driver as RFC to discuss first and would like some review comments.
>
> ==============
> Introduction
> ==============
>
> Face Detection (FD) unit provides hardware accelerated face detection
> feature. It can detect different sizes of faces in a given image.
>
> The driver is implemented as a normal V4L2 memory-to-memory device and
> supports V4L2 controls for detection settings. It has two buffer queues.
>
> 1. Video output buffer: RAW image for face detection.
>
> 2. Meta capture buffer: Result of the detected faces.
>
> ==================
> Changes in v4
> ==================
>
> RFC v4 includes the following modification:
> 1. Includes v4l2-mem2mem changes: add v4l2_m2m_suspend, v4l2_m2m_resume
>
> 2. Move FD V4L2 control ids back inside FD driver
>
> 3. Depend on newer SCP driver api
>
> 4. Add exit hw flow for FD driver
>
> 5. Add hardware timeout handling in the FD firmware
>
> 6. Move allocation of dma buffer from connect / disconnect to driver probe
> / remove
>
> Todo:
> - Add v4l2 control menus for private mtk fd control
> ==================
> Changes in v3
> ==================
>
> RFC v3 includes the following modification:
> 1. Adjust the private control ids and place them in
> include/uapi/linux/mtk-fd-v4l2-controls.h
>
> 2. Merge struct mtk_fd_hw info struct mtk_fd_dev
>
> 3. Define FD meta capture buffer in include/uapi/linux/videodev2.h
>
> 4. Remove the usage of get_reserved_memory by scp driver,
> use dma_alloc api instead
>
> Todo:
> - Add v4l2 control menus for private mtk fd control
> - Refine the job finish flow when system suspend
> ==================
> Changes in v2
> ==================
>
> RFC v2 includes the following modification:
> 1. Implement FD as a V4L2 mem2mem driver
>
> 2. Replace meta input with V4L2 controls
>
> ==================
> Changes in v1
> ==================
>
> RFC v1 includes the following modification:
> 1. Uses Request API instead of FD's buffer collection design
>
> 2. removed unnecessary abstraction structurally, including mtk_fd_ctx and
> related ops
>
> 3. removed the fd_smem node from device tree
>
> 4. Fixed the common issues Tomasz commented on Mediatek ISP Pass 1's RFC v0
> patch series
>
> ==================
> Dependent patch
> ==================
>
> FD driver depends on SCP driver. The patches are as following:
>
> [1]. Add support for mt8183 SCP
> https://patchwork.kernel.org/cover/1152350/
>
> ==================
> Compliance test
> ==================
>
> * Version: https://git.linuxtv.org/v4l-utils.git/commit/?id=b16f9e945d74aa5
> * Note: Some failures are caused by the implementation of FD driver,
> whic is a m2m device with VIDEO_OUT and META_CAPTURE queues,
> therefore we can't set V4L2_CAP_VIDEO_M2M in device capability, and
> fail in some non-m2m v4l2 test cases.
> * Test command: v4l2-compliance -m 2
> * test output:
>
> v4l2-compliance SHA: not available, 32 bits
>
> Compliance test for mtk-fd-4.0 device /dev/media2:
>
> Media Driver Info:
> Driver name : mtk-fd-4.0
> Model : mtk-fd-4.0
> Serial :
> Bus info : platform:1502b000.fd
> Media version : 4.19.84
> Hardware revision: 0x00000000 (0)
> Driver version : 4.19.84
>
> Required ioctls:
> test MEDIA_IOC_DEVICE_INFO: OK
>
> Allow for multiple opens:
> test second /dev/media2 open: OK
> test MEDIA_IOC_DEVICE_INFO: OK
> test for unlimited opens: OK
>
> Media Controller ioctls:
> test MEDIA_IOC_G_TOPOLOGY: OK
> Entities: 3 Interfaces: 1 Pads: 4 Links: 4
> test MEDIA_IOC_ENUM_ENTITIES/LINKS: OK
> test MEDIA_IOC_SETUP_LINK: OK
>
> Total for mtk-fd-4.0 device /dev/media2: 7, Succeeded: 7, Failed: 0, Warnings: 0
> --------------------------------------------------------------------------------
> Compliance test for mtk-fd-4.0 device /dev/video32:
>
> Driver Info:
> Driver name : mtk-fd-4.0
> Card type : mtk-fd-4.0
> Bus info : platform:1502b000.fd
> Driver version : 4.19.84
> Capabilities : 0x84a02000
> Video Output Multiplanar
> Metadata Capture
> Streaming
> Extended Pix Format
> Device Capabilities
> Device Caps : 0x04a02000
> Video Output Multiplanar
> Metadata Capture
> Streaming
> Extended Pix Format
> Media Driver Info:
> Driver name : mtk-fd-4.0
> Model : mtk-fd-4.0
> Serial :
> Bus info : platform:1502b000.fd
> Media version : 4.19.84
> Hardware revision: 0x00000000 (0)
> Driver version : 4.19.84
> Interface Info:
> ID : 0x0300000c
> Type : V4L Video
> Entity Info:
> ID : 0x00000001 (1)
> Name : mtk-fd-4.0-source
> Function : V4L2 I/O
> Pad 0x01000002 : 0: Source
> Link 0x02000008: to remote pad 0x1000005 of entity 'mtk-fd-4.0-proc': Data, Enabled, Immutable
>
> Required ioctls:
> test MC information (see 'Media Driver Info' above): OK
> fail: v4l2-compliance.cpp(668): dcaps & output_caps
> test VIDIOC_QUERYCAP: FAIL
>
> Allow for multiple opens:
> test second /dev/video32 open: OK
> fail: v4l2-compliance.cpp(668): dcaps & output_caps
> test VIDIOC_QUERYCAP: FAIL
> test VIDIOC_G/S_PRIORITY: OK
> test for unlimited opens: OK
>
> Debug ioctls:
> test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
> test VIDIOC_LOG_STATUS: OK (Not Supported)
>
> Input ioctls:
> test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
> test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
> test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
> test VIDIOC_ENUMAUDIO: OK (Not Supported)
> test VIDIOC_G/S/ENUMINPUT: OK (Not Supported)
> test VIDIOC_G/S_AUDIO: OK (Not Supported)
> Inputs: 0 Audio Inputs: 0 Tuners: 0
>
> Output ioctls:
> test VIDIOC_G/S_MODULATOR: OK (Not Supported)
> test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
> test VIDIOC_ENUMAUDOUT: OK (Not Supported)
> test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
> test VIDIOC_G/S_AUDOUT: OK (Not Supported)
> Outputs: 0 Audio Outputs: 0 Modulators: 0
>
> Input/Output configuration ioctls:
> test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
> test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
> test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
> test VIDIOC_G/S_EDID: OK (Not Supported)
>
> Control ioctls:
> test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
> test VIDIOC_QUERYCTRL: OK
> test VIDIOC_G/S_CTRL: OK
> test VIDIOC_G/S/TRY_EXT_CTRLS: OK
> test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
> test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
> Standard Controls: 1 Private Controls: 6
>
> Format ioctls:
> test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
> test VIDIOC_G/S_PARM: OK (Not Supported)
> test VIDIOC_G_FBUF: OK (Not Supported)
> fail: v4l2-test-formats.cpp(457): pixelformat 00000000 () for buftype 10 not reported by ENUM_FMT
> test VIDIOC_G_FMT: FAIL
> fail: v4l2-test-formats.cpp(457): pixelformat 00000000 () for buftype 10 not reported by ENUM_FMT
> test VIDIOC_TRY_FMT: FAIL
> fail: v4l2-test-formats.cpp(457): pixelformat ffffffff (-BE) for buftype 10 not reported by ENUM_FMT
> test VIDIOC_S_FMT: FAIL
> test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
> test Cropping: OK (Not Supported)
> test Composing: OK (Not Supported)
> test Scaling: OK (Not Supported)
>
> Codec ioctls:
> test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
> test VIDIOC_G_ENC_INDEX: OK (Not Supported)
> test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)
>
> Buffer ioctls:
> fail: v4l2-test-buffers.cpp(667): q2.reqbufs(node->node2, 1) != EBUSY
> test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: FAIL
> test VIDIOC_EXPBUF: OK
> test Requests: OK
>
> Total for mtk-fd-4.0 device /dev/video32: 45, Succeeded: 39, Failed: 6, Warnings: 0
>
> Grand Total for mtk-fd-4.0 device /dev/media2: 52, Succeeded: 46, Failed: 6, Warnings: 0
>
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
WARNING: multiple messages have this Message-ID (diff)
From: Jerry-ch Chen <Jerry-ch.Chen@mediatek.com>
To: "hans.verkuil@cisco.com" <hans.verkuil@cisco.com>
Cc: "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"Sean Cheng (鄭昇弘)" <Sean.Cheng@mediatek.com>,
"laurent.pinchart+renesas@ideasonboard.com"
<laurent.pinchart+renesas@ideasonboard.com>,
"zwisler@chromium.org" <zwisler@chromium.org>,
srv_heupstream <srv_heupstream@mediatek.com>,
"tfiga@chromium.org" <tfiga@chromium.org>,
"Jungo Lin (林明俊)" <jungo.lin@mediatek.com>,
"Sj Huang (黃信璋)" <sj.huang@mediatek.com>,
"yuzhao@chromium.org" <yuzhao@chromium.org>,
"linux-mediatek@lists.infradead.org"
<linux-mediatek@lists.infradead.org>,
"pihsun@chromium.org" <pihsun@chromium.org>,
"Frederic Chen (陳俊元)" <Frederic.Chen@mediatek.com>,
"matthias.bgg@gmail.com" <matthias.bgg@gmail.com>,
"Christie Yu (游雅惠)" <christie.yu@mediatek.com>,
"mchehab@kernel.org" <mchehab@kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>
Subject: Re: [RFC PATCH V4 0/4] media: platform: Add support for Face Detection (FD) on mt8183 SoC
Date: Fri, 8 May 2020 10:02:51 +0800 [thread overview]
Message-ID: <1588903371.16825.14.camel@mtksdccf07> (raw)
In-Reply-To: <20191204124732.10932-1-Jerry-Ch.chen@mediatek.com>
Hi Laurent, Tomasz, Matthias,
gentle ping for this patch set,
If no new comments, I would like to send a newer version.
Thanks and Best Regards,
Jerry
On Wed, 2019-12-04 at 20:47 +0800, Jerry-ch Chen wrote:
> Hello,
>
> This RFC patch series is adding Face Detection (FD) driver on Mediatek
> mt8183 SoC. It belongs to the first Mediatek's camera driver series based
> on V4L2 and media controller framework. I posted the main part of the FD
> driver as RFC to discuss first and would like some review comments.
>
> ==============
> Introduction
> ==============
>
> Face Detection (FD) unit provides hardware accelerated face detection
> feature. It can detect different sizes of faces in a given image.
>
> The driver is implemented as a normal V4L2 memory-to-memory device and
> supports V4L2 controls for detection settings. It has two buffer queues.
>
> 1. Video output buffer: RAW image for face detection.
>
> 2. Meta capture buffer: Result of the detected faces.
>
> ==================
> Changes in v4
> ==================
>
> RFC v4 includes the following modification:
> 1. Includes v4l2-mem2mem changes: add v4l2_m2m_suspend, v4l2_m2m_resume
>
> 2. Move FD V4L2 control ids back inside FD driver
>
> 3. Depend on newer SCP driver api
>
> 4. Add exit hw flow for FD driver
>
> 5. Add hardware timeout handling in the FD firmware
>
> 6. Move allocation of dma buffer from connect / disconnect to driver probe
> / remove
>
> Todo:
> - Add v4l2 control menus for private mtk fd control
> ==================
> Changes in v3
> ==================
>
> RFC v3 includes the following modification:
> 1. Adjust the private control ids and place them in
> include/uapi/linux/mtk-fd-v4l2-controls.h
>
> 2. Merge struct mtk_fd_hw info struct mtk_fd_dev
>
> 3. Define FD meta capture buffer in include/uapi/linux/videodev2.h
>
> 4. Remove the usage of get_reserved_memory by scp driver,
> use dma_alloc api instead
>
> Todo:
> - Add v4l2 control menus for private mtk fd control
> - Refine the job finish flow when system suspend
> ==================
> Changes in v2
> ==================
>
> RFC v2 includes the following modification:
> 1. Implement FD as a V4L2 mem2mem driver
>
> 2. Replace meta input with V4L2 controls
>
> ==================
> Changes in v1
> ==================
>
> RFC v1 includes the following modification:
> 1. Uses Request API instead of FD's buffer collection design
>
> 2. removed unnecessary abstraction structurally, including mtk_fd_ctx and
> related ops
>
> 3. removed the fd_smem node from device tree
>
> 4. Fixed the common issues Tomasz commented on Mediatek ISP Pass 1's RFC v0
> patch series
>
> ==================
> Dependent patch
> ==================
>
> FD driver depends on SCP driver. The patches are as following:
>
> [1]. Add support for mt8183 SCP
> https://patchwork.kernel.org/cover/1152350/
>
> ==================
> Compliance test
> ==================
>
> * Version: https://git.linuxtv.org/v4l-utils.git/commit/?id=b16f9e945d74aa5
> * Note: Some failures are caused by the implementation of FD driver,
> whic is a m2m device with VIDEO_OUT and META_CAPTURE queues,
> therefore we can't set V4L2_CAP_VIDEO_M2M in device capability, and
> fail in some non-m2m v4l2 test cases.
> * Test command: v4l2-compliance -m 2
> * test output:
>
> v4l2-compliance SHA: not available, 32 bits
>
> Compliance test for mtk-fd-4.0 device /dev/media2:
>
> Media Driver Info:
> Driver name : mtk-fd-4.0
> Model : mtk-fd-4.0
> Serial :
> Bus info : platform:1502b000.fd
> Media version : 4.19.84
> Hardware revision: 0x00000000 (0)
> Driver version : 4.19.84
>
> Required ioctls:
> test MEDIA_IOC_DEVICE_INFO: OK
>
> Allow for multiple opens:
> test second /dev/media2 open: OK
> test MEDIA_IOC_DEVICE_INFO: OK
> test for unlimited opens: OK
>
> Media Controller ioctls:
> test MEDIA_IOC_G_TOPOLOGY: OK
> Entities: 3 Interfaces: 1 Pads: 4 Links: 4
> test MEDIA_IOC_ENUM_ENTITIES/LINKS: OK
> test MEDIA_IOC_SETUP_LINK: OK
>
> Total for mtk-fd-4.0 device /dev/media2: 7, Succeeded: 7, Failed: 0, Warnings: 0
> --------------------------------------------------------------------------------
> Compliance test for mtk-fd-4.0 device /dev/video32:
>
> Driver Info:
> Driver name : mtk-fd-4.0
> Card type : mtk-fd-4.0
> Bus info : platform:1502b000.fd
> Driver version : 4.19.84
> Capabilities : 0x84a02000
> Video Output Multiplanar
> Metadata Capture
> Streaming
> Extended Pix Format
> Device Capabilities
> Device Caps : 0x04a02000
> Video Output Multiplanar
> Metadata Capture
> Streaming
> Extended Pix Format
> Media Driver Info:
> Driver name : mtk-fd-4.0
> Model : mtk-fd-4.0
> Serial :
> Bus info : platform:1502b000.fd
> Media version : 4.19.84
> Hardware revision: 0x00000000 (0)
> Driver version : 4.19.84
> Interface Info:
> ID : 0x0300000c
> Type : V4L Video
> Entity Info:
> ID : 0x00000001 (1)
> Name : mtk-fd-4.0-source
> Function : V4L2 I/O
> Pad 0x01000002 : 0: Source
> Link 0x02000008: to remote pad 0x1000005 of entity 'mtk-fd-4.0-proc': Data, Enabled, Immutable
>
> Required ioctls:
> test MC information (see 'Media Driver Info' above): OK
> fail: v4l2-compliance.cpp(668): dcaps & output_caps
> test VIDIOC_QUERYCAP: FAIL
>
> Allow for multiple opens:
> test second /dev/video32 open: OK
> fail: v4l2-compliance.cpp(668): dcaps & output_caps
> test VIDIOC_QUERYCAP: FAIL
> test VIDIOC_G/S_PRIORITY: OK
> test for unlimited opens: OK
>
> Debug ioctls:
> test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
> test VIDIOC_LOG_STATUS: OK (Not Supported)
>
> Input ioctls:
> test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
> test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
> test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
> test VIDIOC_ENUMAUDIO: OK (Not Supported)
> test VIDIOC_G/S/ENUMINPUT: OK (Not Supported)
> test VIDIOC_G/S_AUDIO: OK (Not Supported)
> Inputs: 0 Audio Inputs: 0 Tuners: 0
>
> Output ioctls:
> test VIDIOC_G/S_MODULATOR: OK (Not Supported)
> test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
> test VIDIOC_ENUMAUDOUT: OK (Not Supported)
> test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
> test VIDIOC_G/S_AUDOUT: OK (Not Supported)
> Outputs: 0 Audio Outputs: 0 Modulators: 0
>
> Input/Output configuration ioctls:
> test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
> test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
> test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
> test VIDIOC_G/S_EDID: OK (Not Supported)
>
> Control ioctls:
> test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
> test VIDIOC_QUERYCTRL: OK
> test VIDIOC_G/S_CTRL: OK
> test VIDIOC_G/S/TRY_EXT_CTRLS: OK
> test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
> test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
> Standard Controls: 1 Private Controls: 6
>
> Format ioctls:
> test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
> test VIDIOC_G/S_PARM: OK (Not Supported)
> test VIDIOC_G_FBUF: OK (Not Supported)
> fail: v4l2-test-formats.cpp(457): pixelformat 00000000 () for buftype 10 not reported by ENUM_FMT
> test VIDIOC_G_FMT: FAIL
> fail: v4l2-test-formats.cpp(457): pixelformat 00000000 () for buftype 10 not reported by ENUM_FMT
> test VIDIOC_TRY_FMT: FAIL
> fail: v4l2-test-formats.cpp(457): pixelformat ffffffff (-BE) for buftype 10 not reported by ENUM_FMT
> test VIDIOC_S_FMT: FAIL
> test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
> test Cropping: OK (Not Supported)
> test Composing: OK (Not Supported)
> test Scaling: OK (Not Supported)
>
> Codec ioctls:
> test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
> test VIDIOC_G_ENC_INDEX: OK (Not Supported)
> test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)
>
> Buffer ioctls:
> fail: v4l2-test-buffers.cpp(667): q2.reqbufs(node->node2, 1) != EBUSY
> test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: FAIL
> test VIDIOC_EXPBUF: OK
> test Requests: OK
>
> Total for mtk-fd-4.0 device /dev/video32: 45, Succeeded: 39, Failed: 6, Warnings: 0
>
> Grand Total for mtk-fd-4.0 device /dev/media2: 52, Succeeded: 46, Failed: 6, Warnings: 0
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Jerry-ch Chen <Jerry-ch.Chen@mediatek.com>
To: "hans.verkuil@cisco.com" <hans.verkuil@cisco.com>
Cc: "laurent.pinchart+renesas@ideasonboard.com"
<laurent.pinchart+renesas@ideasonboard.com>,
"tfiga@chromium.org" <tfiga@chromium.org>,
"matthias.bgg@gmail.com" <matthias.bgg@gmail.com>,
"mchehab@kernel.org" <mchehab@kernel.org>,
"pihsun@chromium.org" <pihsun@chromium.org>,
"yuzhao@chromium.org" <yuzhao@chromium.org>,
"zwisler@chromium.org" <zwisler@chromium.org>,
"linux-mediatek@lists.infradead.org"
<linux-mediatek@lists.infradead.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"Sean Cheng (鄭昇弘)" <Sean.Cheng@mediatek.com>,
"Sj Huang (黃信璋)" <sj.huang@mediatek.com>,
"Christie Yu (游雅惠)" <christie.yu@mediatek.com>,
"Frederic Chen (陳俊元)" <Frederic.Chen@mediatek.com>,
"Jungo Lin (林明俊)" <jungo.lin@mediatek.com>,
"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>,
srv_heupstream <srv_heupstream@mediatek.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>
Subject: Re: [RFC PATCH V4 0/4] media: platform: Add support for Face Detection (FD) on mt8183 SoC
Date: Fri, 8 May 2020 10:02:51 +0800 [thread overview]
Message-ID: <1588903371.16825.14.camel@mtksdccf07> (raw)
In-Reply-To: <20191204124732.10932-1-Jerry-Ch.chen@mediatek.com>
Hi Laurent, Tomasz, Matthias,
gentle ping for this patch set,
If no new comments, I would like to send a newer version.
Thanks and Best Regards,
Jerry
On Wed, 2019-12-04 at 20:47 +0800, Jerry-ch Chen wrote:
> Hello,
>
> This RFC patch series is adding Face Detection (FD) driver on Mediatek
> mt8183 SoC. It belongs to the first Mediatek's camera driver series based
> on V4L2 and media controller framework. I posted the main part of the FD
> driver as RFC to discuss first and would like some review comments.
>
> ==============
> Introduction
> ==============
>
> Face Detection (FD) unit provides hardware accelerated face detection
> feature. It can detect different sizes of faces in a given image.
>
> The driver is implemented as a normal V4L2 memory-to-memory device and
> supports V4L2 controls for detection settings. It has two buffer queues.
>
> 1. Video output buffer: RAW image for face detection.
>
> 2. Meta capture buffer: Result of the detected faces.
>
> ==================
> Changes in v4
> ==================
>
> RFC v4 includes the following modification:
> 1. Includes v4l2-mem2mem changes: add v4l2_m2m_suspend, v4l2_m2m_resume
>
> 2. Move FD V4L2 control ids back inside FD driver
>
> 3. Depend on newer SCP driver api
>
> 4. Add exit hw flow for FD driver
>
> 5. Add hardware timeout handling in the FD firmware
>
> 6. Move allocation of dma buffer from connect / disconnect to driver probe
> / remove
>
> Todo:
> - Add v4l2 control menus for private mtk fd control
> ==================
> Changes in v3
> ==================
>
> RFC v3 includes the following modification:
> 1. Adjust the private control ids and place them in
> include/uapi/linux/mtk-fd-v4l2-controls.h
>
> 2. Merge struct mtk_fd_hw info struct mtk_fd_dev
>
> 3. Define FD meta capture buffer in include/uapi/linux/videodev2.h
>
> 4. Remove the usage of get_reserved_memory by scp driver,
> use dma_alloc api instead
>
> Todo:
> - Add v4l2 control menus for private mtk fd control
> - Refine the job finish flow when system suspend
> ==================
> Changes in v2
> ==================
>
> RFC v2 includes the following modification:
> 1. Implement FD as a V4L2 mem2mem driver
>
> 2. Replace meta input with V4L2 controls
>
> ==================
> Changes in v1
> ==================
>
> RFC v1 includes the following modification:
> 1. Uses Request API instead of FD's buffer collection design
>
> 2. removed unnecessary abstraction structurally, including mtk_fd_ctx and
> related ops
>
> 3. removed the fd_smem node from device tree
>
> 4. Fixed the common issues Tomasz commented on Mediatek ISP Pass 1's RFC v0
> patch series
>
> ==================
> Dependent patch
> ==================
>
> FD driver depends on SCP driver. The patches are as following:
>
> [1]. Add support for mt8183 SCP
> https://patchwork.kernel.org/cover/1152350/
>
> ==================
> Compliance test
> ==================
>
> * Version: https://git.linuxtv.org/v4l-utils.git/commit/?id=b16f9e945d74aa5
> * Note: Some failures are caused by the implementation of FD driver,
> whic is a m2m device with VIDEO_OUT and META_CAPTURE queues,
> therefore we can't set V4L2_CAP_VIDEO_M2M in device capability, and
> fail in some non-m2m v4l2 test cases.
> * Test command: v4l2-compliance -m 2
> * test output:
>
> v4l2-compliance SHA: not available, 32 bits
>
> Compliance test for mtk-fd-4.0 device /dev/media2:
>
> Media Driver Info:
> Driver name : mtk-fd-4.0
> Model : mtk-fd-4.0
> Serial :
> Bus info : platform:1502b000.fd
> Media version : 4.19.84
> Hardware revision: 0x00000000 (0)
> Driver version : 4.19.84
>
> Required ioctls:
> test MEDIA_IOC_DEVICE_INFO: OK
>
> Allow for multiple opens:
> test second /dev/media2 open: OK
> test MEDIA_IOC_DEVICE_INFO: OK
> test for unlimited opens: OK
>
> Media Controller ioctls:
> test MEDIA_IOC_G_TOPOLOGY: OK
> Entities: 3 Interfaces: 1 Pads: 4 Links: 4
> test MEDIA_IOC_ENUM_ENTITIES/LINKS: OK
> test MEDIA_IOC_SETUP_LINK: OK
>
> Total for mtk-fd-4.0 device /dev/media2: 7, Succeeded: 7, Failed: 0, Warnings: 0
> --------------------------------------------------------------------------------
> Compliance test for mtk-fd-4.0 device /dev/video32:
>
> Driver Info:
> Driver name : mtk-fd-4.0
> Card type : mtk-fd-4.0
> Bus info : platform:1502b000.fd
> Driver version : 4.19.84
> Capabilities : 0x84a02000
> Video Output Multiplanar
> Metadata Capture
> Streaming
> Extended Pix Format
> Device Capabilities
> Device Caps : 0x04a02000
> Video Output Multiplanar
> Metadata Capture
> Streaming
> Extended Pix Format
> Media Driver Info:
> Driver name : mtk-fd-4.0
> Model : mtk-fd-4.0
> Serial :
> Bus info : platform:1502b000.fd
> Media version : 4.19.84
> Hardware revision: 0x00000000 (0)
> Driver version : 4.19.84
> Interface Info:
> ID : 0x0300000c
> Type : V4L Video
> Entity Info:
> ID : 0x00000001 (1)
> Name : mtk-fd-4.0-source
> Function : V4L2 I/O
> Pad 0x01000002 : 0: Source
> Link 0x02000008: to remote pad 0x1000005 of entity 'mtk-fd-4.0-proc': Data, Enabled, Immutable
>
> Required ioctls:
> test MC information (see 'Media Driver Info' above): OK
> fail: v4l2-compliance.cpp(668): dcaps & output_caps
> test VIDIOC_QUERYCAP: FAIL
>
> Allow for multiple opens:
> test second /dev/video32 open: OK
> fail: v4l2-compliance.cpp(668): dcaps & output_caps
> test VIDIOC_QUERYCAP: FAIL
> test VIDIOC_G/S_PRIORITY: OK
> test for unlimited opens: OK
>
> Debug ioctls:
> test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
> test VIDIOC_LOG_STATUS: OK (Not Supported)
>
> Input ioctls:
> test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
> test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
> test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
> test VIDIOC_ENUMAUDIO: OK (Not Supported)
> test VIDIOC_G/S/ENUMINPUT: OK (Not Supported)
> test VIDIOC_G/S_AUDIO: OK (Not Supported)
> Inputs: 0 Audio Inputs: 0 Tuners: 0
>
> Output ioctls:
> test VIDIOC_G/S_MODULATOR: OK (Not Supported)
> test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
> test VIDIOC_ENUMAUDOUT: OK (Not Supported)
> test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
> test VIDIOC_G/S_AUDOUT: OK (Not Supported)
> Outputs: 0 Audio Outputs: 0 Modulators: 0
>
> Input/Output configuration ioctls:
> test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
> test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
> test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
> test VIDIOC_G/S_EDID: OK (Not Supported)
>
> Control ioctls:
> test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
> test VIDIOC_QUERYCTRL: OK
> test VIDIOC_G/S_CTRL: OK
> test VIDIOC_G/S/TRY_EXT_CTRLS: OK
> test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
> test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
> Standard Controls: 1 Private Controls: 6
>
> Format ioctls:
> test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
> test VIDIOC_G/S_PARM: OK (Not Supported)
> test VIDIOC_G_FBUF: OK (Not Supported)
> fail: v4l2-test-formats.cpp(457): pixelformat 00000000 () for buftype 10 not reported by ENUM_FMT
> test VIDIOC_G_FMT: FAIL
> fail: v4l2-test-formats.cpp(457): pixelformat 00000000 () for buftype 10 not reported by ENUM_FMT
> test VIDIOC_TRY_FMT: FAIL
> fail: v4l2-test-formats.cpp(457): pixelformat ffffffff (-BE) for buftype 10 not reported by ENUM_FMT
> test VIDIOC_S_FMT: FAIL
> test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
> test Cropping: OK (Not Supported)
> test Composing: OK (Not Supported)
> test Scaling: OK (Not Supported)
>
> Codec ioctls:
> test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
> test VIDIOC_G_ENC_INDEX: OK (Not Supported)
> test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)
>
> Buffer ioctls:
> fail: v4l2-test-buffers.cpp(667): q2.reqbufs(node->node2, 1) != EBUSY
> test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: FAIL
> test VIDIOC_EXPBUF: OK
> test Requests: OK
>
> Total for mtk-fd-4.0 device /dev/video32: 45, Succeeded: 39, Failed: 6, Warnings: 0
>
> Grand Total for mtk-fd-4.0 device /dev/media2: 52, Succeeded: 46, Failed: 6, Warnings: 0
>
next prev parent reply other threads:[~2020-05-08 2:12 UTC|newest]
Thread overview: 96+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-04 12:47 [RFC PATCH V4 0/4] media: platform: Add support for Face Detection (FD) on mt8183 SoC Jerry-ch Chen
2019-12-04 12:47 ` Jerry-ch Chen
2019-12-04 12:47 ` Jerry-ch Chen
2019-12-04 12:47 ` [RFC PATCH V4 1/4] media: v4l2-mem2mem: add v4l2_m2m_suspend, v4l2_m2m_resume Jerry-ch Chen
2019-12-04 12:47 ` Jerry-ch Chen
2019-12-04 12:47 ` Jerry-ch Chen
2020-05-21 17:11 ` Tomasz Figa
2020-05-21 17:11 ` Tomasz Figa
2020-05-21 17:11 ` Tomasz Figa
2020-05-22 6:01 ` Jerry-ch Chen
2020-05-22 6:01 ` Jerry-ch Chen
2020-05-22 6:01 ` Jerry-ch Chen
2020-06-10 10:28 ` Hans Verkuil
2020-06-10 10:28 ` Hans Verkuil
2020-06-10 10:28 ` Hans Verkuil
2020-06-10 10:32 ` Tomasz Figa
2020-06-10 10:32 ` Tomasz Figa
2020-06-10 10:32 ` Tomasz Figa
2020-06-10 18:52 ` Ezequiel Garcia
2020-06-10 18:52 ` Ezequiel Garcia
2020-06-10 18:52 ` Ezequiel Garcia
2020-06-10 19:03 ` Tomasz Figa
2020-06-10 19:03 ` Tomasz Figa
2020-06-10 19:03 ` Tomasz Figa
2020-06-10 19:14 ` Ezequiel Garcia
2020-06-10 19:14 ` Ezequiel Garcia
2020-06-10 19:14 ` Ezequiel Garcia
2020-06-10 19:26 ` Tomasz Figa
2020-06-10 19:26 ` Tomasz Figa
2020-06-10 19:26 ` Tomasz Figa
2020-06-14 22:43 ` Ezequiel Garcia
2020-06-14 22:43 ` Ezequiel Garcia
2020-06-14 22:43 ` Ezequiel Garcia
2019-12-04 12:47 ` [RFC PATCH V4 2/4] dt-bindings: mt8183: Added FD dt-bindings Jerry-ch Chen
2019-12-04 12:47 ` Jerry-ch Chen
2019-12-04 12:47 ` Jerry-ch Chen
2019-12-04 18:58 ` Rob Herring
2019-12-04 18:58 ` Rob Herring
2019-12-04 18:58 ` Rob Herring
2020-05-06 8:41 ` Jerry-ch Chen
2020-05-06 8:41 ` Jerry-ch Chen
2020-05-06 8:41 ` Jerry-ch Chen
2019-12-04 12:47 ` [RFC PATCH V4 3/4] dts: arm64: mt8183: Add FD nodes Jerry-ch Chen
2019-12-04 12:47 ` Jerry-ch Chen
2019-12-04 12:47 ` Jerry-ch Chen
2019-12-04 12:47 ` [RFC PATCH V4 4/4] platform: mtk-isp: Add Mediatek FD driver Jerry-ch Chen
2019-12-04 12:47 ` Jerry-ch Chen
2019-12-04 12:47 ` Jerry-ch Chen
2020-05-21 18:28 ` Tomasz Figa
2020-05-21 18:28 ` Tomasz Figa
2020-05-21 18:28 ` Tomasz Figa
2020-05-22 14:10 ` Jerry-ch Chen
2020-05-22 14:10 ` Jerry-ch Chen
2020-05-22 14:10 ` Jerry-ch Chen
2020-05-25 12:24 ` Tomasz Figa
2020-05-25 12:24 ` Tomasz Figa
2020-05-25 12:24 ` Tomasz Figa
2020-05-29 12:26 ` Jerry-ch Chen
2020-05-29 12:26 ` Jerry-ch Chen
2020-05-29 12:26 ` Jerry-ch Chen
2020-05-29 12:59 ` Tomasz Figa
2020-05-29 12:59 ` Tomasz Figa
2020-05-29 12:59 ` Tomasz Figa
2020-06-01 10:37 ` Jerry-ch Chen
2020-06-01 10:37 ` Jerry-ch Chen
2020-06-01 10:37 ` Jerry-ch Chen
2020-05-08 2:02 ` Jerry-ch Chen [this message]
2020-05-08 2:02 ` [RFC PATCH V4 0/4] media: platform: Add support for Face Detection (FD) on mt8183 SoC Jerry-ch Chen
2020-05-08 2:02 ` Jerry-ch Chen
2020-05-13 21:45 ` Tomasz Figa
2020-05-13 21:45 ` Tomasz Figa
2020-05-13 21:45 ` Tomasz Figa
2020-05-21 18:38 ` Tomasz Figa
2020-05-21 18:38 ` Tomasz Figa
2020-05-21 18:38 ` Tomasz Figa
2020-06-30 14:10 ` Jerry-ch Chen
2020-06-30 14:10 ` Jerry-ch Chen
2020-06-30 14:10 ` Jerry-ch Chen
2020-06-30 17:19 ` Tomasz Figa
2020-06-30 17:19 ` Tomasz Figa
2020-06-30 17:19 ` Tomasz Figa
2020-11-11 11:51 ` Jerry-ch Chen
2020-11-11 11:51 ` Jerry-ch Chen
2020-11-11 11:51 ` Jerry-ch Chen
2020-11-12 4:26 ` Tomasz Figa
2020-11-12 4:26 ` Tomasz Figa
2020-11-12 4:26 ` Tomasz Figa
2020-11-12 12:05 ` Jerry-ch Chen
2020-11-12 12:05 ` Jerry-ch Chen
2020-11-12 12:05 ` Jerry-ch Chen
2020-12-28 17:02 ` Jerry-ch Chen
2020-12-28 17:02 ` Jerry-ch Chen
2020-12-28 17:02 ` Jerry-ch Chen
2021-01-06 6:30 ` Tomasz Figa
2021-01-06 6:30 ` Tomasz Figa
2021-01-06 6:30 ` Tomasz Figa
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=1588903371.16825.14.camel@mtksdccf07 \
--to=jerry-ch.chen@mediatek.com \
--cc=Frederic.Chen@mediatek.com \
--cc=Sean.Cheng@mediatek.com \
--cc=christie.yu@mediatek.com \
--cc=devicetree@vger.kernel.org \
--cc=hans.verkuil@cisco.com \
--cc=jungo.lin@mediatek.com \
--cc=laurent.pinchart+renesas@ideasonboard.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=matthias.bgg@gmail.com \
--cc=mchehab@kernel.org \
--cc=pihsun@chromium.org \
--cc=sj.huang@mediatek.com \
--cc=srv_heupstream@mediatek.com \
--cc=tfiga@chromium.org \
--cc=yuzhao@chromium.org \
--cc=zwisler@chromium.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.