Message ID | 20230925232806.950683-1-yuji2.ishikawa@toshiba.co.jp (mailing list archive) |
---|---|
Headers | show |
Series | Add Toshiba Visconti Video Input Interface driver | expand |
Hi Yuji Ishikawa, On 26/09/2023 01:28, Yuji Ishikawa wrote: > This series is the Video Input Interface driver > for Toshiba's ARM SoC, Visconti. > This provides DT binding documentation, > device driver, documentation and MAINTAINER files. > > A visconti VIIF driver instance exposes > 1 media control device file and 3 video device files > for a VIIF hardware. > Detailed HW/SW are described in documentation directory. > The VIIF hardware has CSI2 receiver, > image signal processor and DMAC inside. > The subdevice for image signal processor provides > vendor specific V4L2 controls. > > The device driver depends on two other drivers under development; > clock framework driver and IOMMU driver. > Corresponding features will be added later. Building this series results in a set of sparse warnings: drivers/media/platform/toshiba/visconti/viif_capture.c:235:29: warning: symbol 'out_format_spec' was not declared. Should it be static? drivers/media/platform/toshiba/visconti/viif_capture.c:517:13: warning: context imbalance in 'viif_regbuf_access_start' - wrong count at exit drivers/media/platform/toshiba/visconti/viif_capture.c:523:13: warning: context imbalance in 'viif_regbuf_access_end' - unexpected unlock drivers/media/platform/toshiba/visconti/viif_csi2rx.c:458:15: warning: Using plain integer as NULL pointer drivers/media/platform/toshiba/visconti/viif_csi2rx.c:458:15: warning: Using plain integer as NULL pointer And I also get a Documentation build warning: Documentation/output/videodev2.h.rst:6: WARNING: undefined label: 'v4l2-ctrl-type-visconti-isp' Also note that you need to rebase: the v4l2-controls.h header changed. Regards, Hans > > Best regards, > Yuji > > Changelog v2: > - Resend v1 because a patch exceeds size limit. > > Changelog v3: > - Add documentation to describe SW and HW > - Adapted to media control framework > - Introduced ISP subdevice, capture device > - Remove private IOCTLs and add vendor specific V4L2 controls > - Change function name avoiding camelcase and uppercase letters > > Changelog v4: > - Split patches because a patch exceeds size limit > - fix dt-bindings document > - stop specifying ID numbers for driver instance explicitly at device tree > - use pm_runtime to trigger initialization of HW > along with open/close of device files. > - add a entry for a header file at MAINTAINERS file > > Changelog v5: > - Fix coding style problem in viif.c (patch 2/6) > > Changelog v6: > - add register definition of BUS-IF and MPU in dt-bindings > - add CSI2RX subdevice (separeted from ISP subdevice) > - change directory layout (moved to media/platform/toshiba/visconti) > - change source file layout (removed hwd_xxxx.c) > - pointer to userland memory is removed from uAPI parameters > - change register access (from struct style to macro style) > - remove unused macros > > Changelog v7: > - remove redundant "bindings" from header and description text > - fix multiline text of "description" > - change "compatible" to "visconti5-viif" > - explicitly define allowed properties for port::endpoint > - remove unused variables > - update kerneldoc comments > - update references to headers > > Changelog v8: > - rename bindings description file > - remove/simplify items in bindings > - update operations around v4l2_async_notifier > - use v4l2_async_connection instead of v4l2_async_subdev > - use dev_err_probe() > - better error handling at probe > - remove redundant mutex > - add V4L2_CTRL_TYPE_VISCONTI_ISP constant > > Yuji Ishikawa (5): > dt-bindings: media: platform: visconti: Add Toshiba Visconti Video > Input Interface > media: platform: visconti: Add Toshiba Visconti Video Input Interface > driver > media: add V4L2 vendor specific control handlers > documentation: media: add documentation for Toshiba Visconti Video > Input Interface driver > MAINTAINERS: Add entries for Toshiba Visconti Video Input Interface > > .../media/toshiba,visconti5-viif.yaml | 105 + > .../driver-api/media/drivers/index.rst | 1 + > .../media/drivers/visconti-viif.rst | 462 +++ > .../media/v4l/vidioc-g-ext-ctrls.rst | 4 + > .../media/v4l/vidioc-queryctrl.rst | 5 + > MAINTAINERS | 4 + > drivers/media/platform/Kconfig | 1 + > drivers/media/platform/Makefile | 1 + > drivers/media/platform/toshiba/Kconfig | 6 + > drivers/media/platform/toshiba/Makefile | 2 + > .../media/platform/toshiba/visconti/Kconfig | 18 + > .../media/platform/toshiba/visconti/Makefile | 8 + > .../media/platform/toshiba/visconti/viif.c | 650 ++++ > .../media/platform/toshiba/visconti/viif.h | 374 ++ > .../platform/toshiba/visconti/viif_capture.c | 1489 ++++++++ > .../platform/toshiba/visconti/viif_capture.h | 22 + > .../platform/toshiba/visconti/viif_common.c | 199 + > .../platform/toshiba/visconti/viif_common.h | 38 + > .../platform/toshiba/visconti/viif_controls.c | 3394 +++++++++++++++++ > .../platform/toshiba/visconti/viif_controls.h | 18 + > .../platform/toshiba/visconti/viif_csi2rx.c | 691 ++++ > .../platform/toshiba/visconti/viif_csi2rx.h | 24 + > .../toshiba/visconti/viif_csi2rx_regs.h | 102 + > .../platform/toshiba/visconti/viif_isp.c | 1259 ++++++ > .../platform/toshiba/visconti/viif_isp.h | 24 + > .../platform/toshiba/visconti/viif_regs.h | 716 ++++ > drivers/media/v4l2-core/v4l2-ctrls-core.c | 7 +- > include/uapi/linux/v4l2-controls.h | 6 + > include/uapi/linux/videodev2.h | 2 + > include/uapi/linux/visconti_viif.h | 1800 +++++++++ > 30 files changed, 11431 insertions(+), 1 deletion(-) > create mode 100644 Documentation/devicetree/bindings/media/toshiba,visconti5-viif.yaml > create mode 100644 Documentation/driver-api/media/drivers/visconti-viif.rst > create mode 100644 drivers/media/platform/toshiba/Kconfig > create mode 100644 drivers/media/platform/toshiba/Makefile > create mode 100644 drivers/media/platform/toshiba/visconti/Kconfig > create mode 100644 drivers/media/platform/toshiba/visconti/Makefile > create mode 100644 drivers/media/platform/toshiba/visconti/viif.c > create mode 100644 drivers/media/platform/toshiba/visconti/viif.h > create mode 100644 drivers/media/platform/toshiba/visconti/viif_capture.c > create mode 100644 drivers/media/platform/toshiba/visconti/viif_capture.h > create mode 100644 drivers/media/platform/toshiba/visconti/viif_common.c > create mode 100644 drivers/media/platform/toshiba/visconti/viif_common.h > create mode 100644 drivers/media/platform/toshiba/visconti/viif_controls.c > create mode 100644 drivers/media/platform/toshiba/visconti/viif_controls.h > create mode 100644 drivers/media/platform/toshiba/visconti/viif_csi2rx.c > create mode 100644 drivers/media/platform/toshiba/visconti/viif_csi2rx.h > create mode 100644 drivers/media/platform/toshiba/visconti/viif_csi2rx_regs.h > create mode 100644 drivers/media/platform/toshiba/visconti/viif_isp.c > create mode 100644 drivers/media/platform/toshiba/visconti/viif_isp.h > create mode 100644 drivers/media/platform/toshiba/visconti/viif_regs.h > create mode 100644 include/uapi/linux/visconti_viif.h >
Hello Hans, > -----Original Message----- > From: Hans Verkuil <hverkuil@xs4all.nl> > Sent: Wednesday, September 27, 2023 10:24 PM > To: ishikawa yuji(石川 悠司 ○RDC□AITC○EA開) > <yuji2.ishikawa@toshiba.co.jp>; Laurent Pinchart > <laurent.pinchart@ideasonboard.com>; Mauro Carvalho Chehab > <mchehab@kernel.org>; Rob Herring <robh+dt@kernel.org>; Krzysztof > Kozlowski <krzysztof.kozlowski+dt@linaro.org>; Conor Dooley > <conor+dt@kernel.org>; iwamatsu nobuhiro(岩松 信洋 ○DITC□DIT○ > OST) <nobuhiro1.iwamatsu@toshiba.co.jp> > Cc: linux-media@vger.kernel.org; devicetree@vger.kernel.org; > linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org > Subject: Re: [PATCH v8 0/5] Add Toshiba Visconti Video Input Interface driver > > Hi Yuji Ishikawa, > > On 26/09/2023 01:28, Yuji Ishikawa wrote: > > This series is the Video Input Interface driver for Toshiba's ARM SoC, > > Visconti. > > This provides DT binding documentation, device driver, documentation > > and MAINTAINER files. > > > > A visconti VIIF driver instance exposes > > 1 media control device file and 3 video device files for a VIIF > > hardware. > > Detailed HW/SW are described in documentation directory. > > The VIIF hardware has CSI2 receiver, > > image signal processor and DMAC inside. > > The subdevice for image signal processor provides vendor specific V4L2 > > controls. > > > > The device driver depends on two other drivers under development; > > clock framework driver and IOMMU driver. > > Corresponding features will be added later. > > Building this series results in a set of sparse warnings: I set up the latest sparse tool and reproduced the warnings. > drivers/media/platform/toshiba/visconti/viif_capture.c:235:29: warning: symbol > 'out_format_spec' was not declared. Should it be static? I'll set static qualifier. > drivers/media/platform/toshiba/visconti/viif_capture.c:517:13: warning: > context imbalance in 'viif_regbuf_access_start' - wrong count at exit > drivers/media/platform/toshiba/visconti/viif_capture.c:523:13: warning: > context imbalance in 'viif_regbuf_access_end' - unexpected unlock I'll expand these inline functions. The same sequences are already expanded in viif_controls.c > drivers/media/platform/toshiba/visconti/viif_csi2rx.c:458:15: warning: Using > plain integer as NULL pointer > drivers/media/platform/toshiba/visconti/viif_csi2rx.c:458:15: warning: Using > plain integer as NULL pointer I'll fix them. > And I also get a Documentation build warning: > > Documentation/output/videodev2.h.rst:6: WARNING: undefined label: > 'v4l2-ctrl-type-visconti-isp' It seems the label is generated with a script (kerneldoc->ReST). I also found that the other members of enum v4l2_ctrl_type have labels pointing at legal targets. I'll try further to get a legal label. > Also note that you need to rebase: the v4l2-controls.h header changed. It seems that media-staging tree was updated after I fixed my patchset. I should have re-check before submission. I'll rebase to the latest HEAD and format v9 patch. > Regards, > > Hans > Regards, Yuji