Re: [PATCH v2 0/6] imx8-isi: Bug fixes and format support enhancements

From: Laurent Pinchart

Date: Mon Jul 20 2026 - 20:35:48 EST


On Tue, Jul 21, 2026 at 03:32:41AM +0300, Laurent Pinchart wrote:
> On Mon, Jul 20, 2026 at 11:34:02AM +0800, Guoniu Zhou wrote:
> > This series addresses critical bugs in the imx8-isi driver and extends
> > format support for high-end sensors and Android requirements.
> >
> > Patch 1 fixes a critical stream ID validation bug in the crossbar routing
> > where the validation loop iterates over the wrong routing table, allowing
> > userspace to bypass validation entirely and configure invalid routes.
> >
> > Patch 2 adds additional stream ID validation to enforce hardware constraints
> > (SOURCE stream must be 0).
> >
> > Patch 3 fixes a stream reference counting bug in the crossbar that prevents
> > multiple streams from different virtual channels on the same input pad from
> > being enabled correctly. Only the first stream gets enabled in hardware,
> > subsequent streams are silently ignored.
> >
> > Patch 4 adds support for 16-bit raw Bayer formats (SBGGR16, SGBRG16,
> > SGRBG16, SRGGB16) commonly used by high-end image sensors.
> >
> > Patch 5 fixes incorrect color mapping for XBGR32 format in memory-to-memory
> > mode (marked for stable backport).
> >
> > Patch 6 extends RGB format support by adding BGRA32, RGBA32, BGRX32, RGBX32,
> > and ARGB2101010 formats with full M2M capabilities to meet Android
> > requirements.
> >
> > Signed-off-by: Guoniu Zhou <guoniu.zhou@xxxxxxxxxxx>
>
> I have taken patches 1, 2 and 5 in my tree already ([1]). The CI
> pipeline is running ([2]). Once it completes successfully, I will send a
> pull request. You can base the next version of this series (patches 3, 4
> and 6) on top of [1].
>
> [1] https://gitlab.freedesktop.org/linux-media/users/pinchartl/-/commit/db30b841e534f6b97008583f6e63c93473f14afc
> [2] https://gitlab.freedesktop.org/linux-media/users/pinchartl/-/pipelines/1710408

This failed due to a mistake on my side. I've submitted a new pipeline:

https://gitlab.freedesktop.org/linux-media/users/pinchartl/-/pipelines/1710412

> > ---
> > Changes in v2:
> > - [1/6] Split v1 patch 1/5 into two patches: this patch fixes the core
> > for_each_active_route() bug, next patch adds additional stream
> > validation (Frank Li)
> > - [2/6] New patch split from v1 1/5: adds stream ID validation on top of
> > for_each_active_route() fix (Frank Li)
> > - [2/6] Remove incorrect sink_stream validation
> > - [3/6] Use fixed-size array for enabled_count instead of dynamic allocation
> > - [3/6] Use BIT_ULL() macro for u64 bitmask operations
> > - [3/6] Use MXC_ISI_MAX_STREAMS (64) as loop boundary instead of num_sources
> > - [3/6] Remove mxc_isi_stream_counters_alloc/free functions
> > - [4/6] Add Reviewed-by tag from Frank Li
> > - [5/6] Reword commit description for clarity (Frank Li)
> > - [6/6] Add Reviewed-by tag from Frank Li
> > - Link to v1: https://lore.kernel.org/r/20260629-isi-v1-0-deebfdb1b07b@xxxxxxxxxxx
> >
> > ---
> > Guoniu Zhou (5):
> > media: nxp: imx8-isi: Fix stream ID validation bypass in crossbar routing
> > media: nxp: imx8-isi: Add stream ID validation for crossbar routing
> > media: nxp: imx8-isi: Fix per-stream reference counting for multiplexed streams
> > media: nxp: imx8-isi: Correct color map between V4L2 and ISI
> > media: nxp: imx8-isi: Add additional 32-bit RGB format support
> >
> > Laurentiu Palcu (1):
> > media: nxp: imx8-isi: Add 16-bit raw Bayer format support
> >
> > .../media/platform/nxp/imx8-isi/imx8-isi-core.h | 7 +-
> > .../platform/nxp/imx8-isi/imx8-isi-crossbar.c | 92 +++++++++++++++-----
> > .../media/platform/nxp/imx8-isi/imx8-isi-pipe.c | 24 ++++++
> > .../media/platform/nxp/imx8-isi/imx8-isi-video.c | 97 +++++++++++++++++++++-
> > 4 files changed, 196 insertions(+), 24 deletions(-)
> > ---
> > base-commit: 06cb687a5132fcffe624c0070576ab852ac6b568
> > change-id: 20260626-isi-00f05b044ac9

--
Regards,

Laurent Pinchart