[PATCH 00/55] media: rkisp1: Cleanups and add support for i.MX8MP
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Wed Jun 15 17:19:30 PDT 2022
Hi Paul,
Thank you for the patches.
On Wed, Jun 15, 2022 at 04:10:32AM +0900, Paul Elder wrote:
> Hello,
>
> This series depends on v4 of "media: rkisp1: Misc bug fixes and cleanups" [1].
>
> The ISP integrated in the i.MX8MP is nearly the same as the rkisp1, and
> so we can reuse the rkisp1 driver for it.
>
> This series does some cleanup and refactoring of the rkisp1 driver,
> (patches 1/55 to 46/55), and then adds support for the i.MX8MP (patches
> 47/55 to 55/55).
I have a few questions about the i.MX8MP support (the main one being
about the version numbering scheme), which I'll ask in replies to the
corresponding patches. Patches 01/55 to 46/55 could be merged already,
once reviewed of course. As the series is large, let's see if we can
motivate any reviewer :-)
> [1] https://lore.kernel.org/linux-media/Ymbxs2p9Tuf331qM@pendragon.ideasonboard.com/T/
>
> Laurent Pinchart (38):
> media: rkisp1: Enable compilation on ARCH_MXC
> media: rkisp1: Disable runtime PM in probe error path
> media: rkisp1: Read the ID register at probe time instead of streamon
> media: rkisp1: Rename rkisp1_match_data to rkisp1_info
> media: rkisp1: Access ISP version from info pointer
> media: rkisp1: cap: Print debug message on failed link validation
> media: rkisp1: Move sensor .s_stream() call to ISP
> media: rkisp1: Reject sensors without pixel rate control at bound time
> media: rkisp1: Create link from sensor to ISP at notifier bound time
> media: rkisp1: Create internal links at probe time
> media: rkisp1: Rename rkisp1_subdev_notifier() to
> rkisp1_subdev_notifier_register()
> media: v4l2-async: Add notifier operation to destroy asd instances
> media: rkisp1: Fix sensor source pad retrieval at bound time
> media: rkisp1: isp: Start CSI-2 receiver before ISP
> media: rkisp1: csi: Handle CSI-2 RX configuration fully in
> rkisp1-csi.c
> media: rkisp1: csi: Rename CSI functions with a common rkisp1_csi
> prefix
> media: rkisp1: csi: Move start delay to rkisp1_csi_start()
> media: rkisp1: csi: Pass sensor pointer to rkisp1_csi_config()
> media: rkisp1: csi: Constify argument to rkisp1_csi_start()
> media: rkisp1: isp: Don't initialize ret to 0 in rkisp1_isp_s_stream()
> media: rkisp1: isp: Pass mbus type and flags to rkisp1_config_cif()
> media: rkisp1: isp: Rename rkisp1_device.active_sensor to source
> media: rkisp1: isp: Add container_of wrapper to cast subdev to
> rkisp1_isp
> media: rkisp1: isp: Add rkisp1_device backpointer to rkisp1_isp
> media: rkisp1: isp: Pass rkisp1_isp pointer to internal ISP functions
> media: rkisp1: isp: Move input configuration to rkisp1_config_isp()
> media: rkisp1: isp: Merge ISP_ACQ_PROP configuration in single
> variable
> media: rkisp1: isp: Initialize some variables at declaration time
> media: rkisp1: isp: Fix whitespace issues
> media: rkisp1: isp: Constify various local variables
> media: rkisp1: isp: Rename rkisp1_get_remote_source()
> media: mc-entity: Add a new helper function to get a remote pad
> media: mc-entity: Add a new helper function to get a remote pad for a
> pad
> media: rkisp1: isp: Disallow multiple active sources
> media: rkisp1: csi: Plumb the CSI RX subdev
> media: rkisp1: Add infrastructure to support ISP features
> media: rkisp1: Make the internal CSI-2 receiver optional
> media: rkisp1: Configure gasket on i.MX8MP
>
> Paul Elder (17):
> media: rkisp1: debug: Add dump file in debugfs for MI buffer registers
> media: rkisp1: debug: Add debugfs files to monitor MI and ISP
> interrupts
> media: rkisp1: Save info pointer in rkisp1_device
> media: rkisp1: Make rkisp1_isp_mbus_info common
> media: rkisp1: Split CSI handling to separate file
> media: rkisp1: csi: Implement a V4L2 subdev for the CSI receiver
> media: rkisp1: Use fwnode_graph_for_each_endpoint
> dt-bindings: media: rkisp1: Add port for parallel interface
> media: rkisp1: Support the ISP parallel input
> dt-bindings: media: rkisp1: Add i.MX8MP ISP to compatible
> media: rkisp1: Add match data for i.MX8MP ISP
> media: rkisp1: Add and set registers for crop for i.MX8MP
> media: rkisp1: Add and set registers for output size config on i.MX8MP
> media: rkisp1: Add i.MX8MP-specific registers for MI and resizer
> media: rkisp1: Shift DMA buffer addresses on i.MX8MP
> media: rkisp1: Add register definitions for the test pattern generator
> media: rkisp1: Fix RSZ_CTRL bits for i.MX8MP
>
> .../bindings/media/rockchip-isp1.yaml | 30 +-
> Documentation/driver-api/media/mc-core.rst | 4 +-
> .../driver-api/media/v4l2-subdev.rst | 6 +
> drivers/media/mc/mc-entity.c | 69 ++
> .../media/platform/rockchip/rkisp1/Kconfig | 2 +-
> .../media/platform/rockchip/rkisp1/Makefile | 1 +
> .../platform/rockchip/rkisp1/rkisp1-capture.c | 49 +-
> .../platform/rockchip/rkisp1/rkisp1-common.c | 148 ++++
> .../platform/rockchip/rkisp1/rkisp1-common.h | 130 +++-
> .../platform/rockchip/rkisp1/rkisp1-csi.c | 525 ++++++++++++++
> .../platform/rockchip/rkisp1/rkisp1-csi.h | 28 +
> .../platform/rockchip/rkisp1/rkisp1-debug.c | 55 +-
> .../platform/rockchip/rkisp1/rkisp1-dev.c | 440 +++++++-----
> .../platform/rockchip/rkisp1/rkisp1-isp.c | 679 +++++++-----------
> .../platform/rockchip/rkisp1/rkisp1-params.c | 2 +-
> .../platform/rockchip/rkisp1/rkisp1-regs.h | 87 +++
> .../platform/rockchip/rkisp1/rkisp1-resizer.c | 43 +-
> .../platform/rockchip/rkisp1/rkisp1-stats.c | 4 +-
> drivers/media/v4l2-core/v4l2-async.c | 10 +
> include/media/media-entity.h | 63 ++
> include/media/v4l2-async.h | 2 +
> include/uapi/linux/rkisp1-config.h | 3 +
> 22 files changed, 1735 insertions(+), 645 deletions(-)
> create mode 100644 drivers/media/platform/rockchip/rkisp1/rkisp1-csi.c
> create mode 100644 drivers/media/platform/rockchip/rkisp1/rkisp1-csi.h
--
Regards,
Laurent Pinchart
More information about the Linux-rockchip
mailing list