Re: [PATCH v4 0/5] Add Mediatek ISP3.0

From: Laurent Pinchart
Date: Thu Jan 11 2024 - 03:08:45 EST


Hi Julien,

Thank you for the patches.

On Wed, Jan 10, 2024 at 03:14:37PM +0100, Julien Stephan wrote:
> This series adds the support of the Mediatek ISP3.0 found on some
> Mediatek SoCs such as the mt8365. The driver is divided into 2 parts:
>
> * SENINF: the sensor interface
> * CAMSV: this driver provides a path to bypass the SoC ISP so that image
> data coming from the SENINF can go directly into memory without any
> image processing. This allows the use of an external ISP or camera
> sensor directly.

I'm afraid this doesn't compile based on the latest media tree's master
branch, scheduled for v6.8-rc1. I've pushed the following fixes to [1]:

0d2e75fb8909 media: mediatek: isp_30: Update to new subdev state API
05dc498f151a media: mediatek: isp_30: Update to new subdev state API

You can squash those in v5 when you will rebase on v6.8-rc1.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/pinchartl/linux.git/log/?h=mtk/v6.8/pumpkin/camera

> The SENINF driver is based on previous work done by Louis Kuo available
> as an RFC here: https://lore.kernel.org/all/20200708104023.3225-1-louis.kuo@xxxxxxxxxxxx/
>
> This series depends on the following series for the phy [1]
>
> Changes in v4:
> - fix suspend/resume deadlock
> - fix various locking issues reported by Laurent Pinchart on v3
> - run LOCKDEP
> - add missing include reported by kernel-test-robot for non mediatek arch and COMPILE_TEST=y
> - use atomic poll inside mtk_camsv30_setup
> - drop second lane support as it was not used
> - remove useless members in structs
> - fix media entity initialization
> - initialize correct pad for camsv video device
> - add isp support in mt8365.dtsi
> - rebase on 6.7
>
> Changes in v3:
> - fix a lot of formatting issues/coding style issues found in camsv/seninf reported by Angelo on v2
> - fix camsv/seninf binding file error reported by Rob
>
> Changes in v2:
> - renamed clock `cam_seninf` to `camsys`
> - renamed clock `top_mux_seninf` to `top_mux`
> - moved phy properties from port nodes to top level
> - remove patternProperties
> - specify power management dependency in the cover letter description to fix
> missing include in dt-binding example
> - change '$ref' properties on some endpoint nodes from
> '$ref: video-interfaces.yaml#' to '$ref: /schemas/graph.yaml#/$defs/endpoint-base'
> where applicable
>
> Best
> Julien Stephan
>
> [1] : https://lore.kernel.org/all/20230620121928.1231745-1-jstephan@xxxxxxxxxxxx/
>
>
>
> Louis Kuo (2):
> dt-bindings: media: add mediatek ISP3.0 sensor interface
> media: platform: mediatek: isp_30: add mediatek ISP3.0 sensor
> interface
>
> Phi-bang Nguyen (2):
> dt-bindings: media: add mediatek ISP3.0 camsv
> media: platform: mediatek: isp_30: add mediatek ISP3.0 camsv
>
> .../bindings/media/mediatek,mt8365-camsv.yaml | 109 ++
> .../media/mediatek,mt8365-seninf.yaml | 259 +++
> MAINTAINERS | 10 +
> arch/arm64/boot/dts/mediatek/mt8365.dtsi | 128 ++
> drivers/media/platform/mediatek/Kconfig | 1 +
> drivers/media/platform/mediatek/Makefile | 1 +
> drivers/media/platform/mediatek/isp/Kconfig | 2 +
> drivers/media/platform/mediatek/isp/Makefile | 3 +
> .../platform/mediatek/isp/isp_30/Kconfig | 35 +
> .../platform/mediatek/isp/isp_30/Makefile | 4 +
> .../mediatek/isp/isp_30/camsv/Makefile | 7 +
> .../mediatek/isp/isp_30/camsv/mtk_camsv.c | 328 ++++
> .../mediatek/isp/isp_30/camsv/mtk_camsv.h | 199 +++
> .../isp/isp_30/camsv/mtk_camsv30_hw.c | 427 +++++
> .../isp/isp_30/camsv/mtk_camsv30_regs.h | 60 +
> .../isp/isp_30/camsv/mtk_camsv_video.c | 774 +++++++++
> .../mediatek/isp/isp_30/seninf/Makefile | 5 +
> .../mediatek/isp/isp_30/seninf/mtk_seninf.c | 1488 +++++++++++++++++
> .../isp/isp_30/seninf/mtk_seninf_reg.h | 112 ++
> 19 files changed, 3952 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/media/mediatek,mt8365-camsv.yaml
> create mode 100644 Documentation/devicetree/bindings/media/mediatek,mt8365-seninf.yaml
> create mode 100644 drivers/media/platform/mediatek/isp/Kconfig
> create mode 100644 drivers/media/platform/mediatek/isp/Makefile
> create mode 100644 drivers/media/platform/mediatek/isp/isp_30/Kconfig
> create mode 100644 drivers/media/platform/mediatek/isp/isp_30/Makefile
> create mode 100644 drivers/media/platform/mediatek/isp/isp_30/camsv/Makefile
> create mode 100644 drivers/media/platform/mediatek/isp/isp_30/camsv/mtk_camsv.c
> create mode 100644 drivers/media/platform/mediatek/isp/isp_30/camsv/mtk_camsv.h
> create mode 100644 drivers/media/platform/mediatek/isp/isp_30/camsv/mtk_camsv30_hw.c
> create mode 100644 drivers/media/platform/mediatek/isp/isp_30/camsv/mtk_camsv30_regs.h
> create mode 100644 drivers/media/platform/mediatek/isp/isp_30/camsv/mtk_camsv_video.c
> create mode 100644 drivers/media/platform/mediatek/isp/isp_30/seninf/Makefile
> create mode 100644 drivers/media/platform/mediatek/isp/isp_30/seninf/mtk_seninf.c
> create mode 100644 drivers/media/platform/mediatek/isp/isp_30/seninf/mtk_seninf_reg.h

--
Regards,

Laurent Pinchart