[PATCH v3 0/3] media: sun6i-csi: Convert to active state and improve MC support
Arash Golgol
arash.golgol at gmail.com
Fri May 8 22:09:18 PDT 2026
Hi,
This series modernizes the sun6i-csi driver by aligning the bridge and
capture components with the V4L2 subdev active state API and improving
media controller integration.
The first patch migrates the bridge driver to the V4L2 subdev active
state framework. The private mbus_format field and its associated lock
are removed, with the framework-managed state becoming the single
source of truth. As part of this change, the capture driver no longer
accesses bridge-private data directly and instead resolves the active
format through the subdev pad API. Since the hardware does not perform
format conversion, identical formats are enforced on both pads.
The second patch implements vidioc_enum_framesizes for the capture
device, reporting a stepwise range of even frame sizes within the
hardware limits.
The final patch adds MC-centric format enumeration support by filtering
pixel formats based on the provided mbus code and advertises
V4L2_CAP_IO_MC to reflect the intended usage within a media graph.
Hardware testing performed on LicheePi Zero Dock (Allwinner V3s):
- Parallel pipeline (csi1):
ov7670 -> sun6i-csi-bridge -> sun6i-csi-capture
- MIPI pipeline (csi0):
ov5647 -> sun6i-mipi-csi2 -> sun6i-csi-bridge -> sun6i-csi-capture
---
Changes in v3:
- Fix Media CI robot warnings about open parenthesis
- Link to report: https://linux-media.pages.freedesktop.org/-/users/patchwork/-/jobs/99380724/artifacts/report.htm
- Link to v2: https://patchwork.kernel.org/project/linux-media/list/?series=1091728
Changes in v2:
- Fix indentation in link validation path
- Return pixelformat directly instead of a pointer
- Link to v1: https://patchwork.kernel.org/project/linux-media/list/?series=1054768
Arash Golgol (3):
media: sun6i-csi: bridge: Use V4L2 subdev active state
media: sun6i-csi: capture: Implement vidioc_enum_framesizes
media: sun6i-csi: capture: Support MC-centric format enumeration
.../sunxi/sun6i-csi/sun6i_csi_bridge.c | 155 ++++++++----------
.../sunxi/sun6i-csi/sun6i_csi_bridge.h | 9 -
.../sunxi/sun6i-csi/sun6i_csi_capture.c | 88 ++++++++--
3 files changed, 144 insertions(+), 108 deletions(-)
--
2.34.1
More information about the linux-arm-kernel
mailing list