<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-linux/drivers/media/platform/nxp, branch stable</title>
<subtitle>WireGuard for the Linux kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-linux/atom/drivers/media/platform/nxp?h=stable</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-linux/atom/drivers/media/platform/nxp?h=stable'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/'/>
<updated>2026-07-31T07:13:10Z</updated>
<entry>
<title>media: nxp: imx8-isi: Add additional 32-bit RGB format support</title>
<updated>2026-07-31T07:13:10Z</updated>
<author>
<name>Guoniu Zhou</name>
<email>guoniu.zhou@oss.nxp.com</email>
</author>
<published>2026-07-28T06:58:59Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=06c70039c75969e9065a6c0adcdf5178866c0ac1'/>
<id>urn:sha1:06c70039c75969e9065a6c0adcdf5178866c0ac1</id>
<content type='text'>
Add support for additional 32-bit RGB pixel formats (BGRA32, RGBA32,
BGRX32, RGBX32, ARGB2101010).

Formats with alpha channel (BGRA32, RGBA32) only support capture as
ISI ignores alpha bits when reading from memory.

Signed-off-by: Robert Chiras &lt;robert.chiras@nxp.com&gt;
Reviewed-by: Frank Li &lt;Frank.Li@nxp.com&gt;
Tested-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Guoniu Zhou &lt;guoniu.zhou@oss.nxp.com&gt;
Reviewed-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Reviewed-by: Loic Poulain &lt;loic.poulain@oss.qualcomm.com&gt;
Link: https://patch.msgid.link/20260728-isi-v5-4-1d22ab91602a@oss.nxp.com
Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil+cisco@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: nxp: imx8-isi: Add 16-bit raw Bayer format support</title>
<updated>2026-07-31T07:13:10Z</updated>
<author>
<name>Laurentiu Palcu</name>
<email>laurentiu.palcu@oss.nxp.com</email>
</author>
<published>2026-07-28T06:58:58Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=383d13eaf17ba349e4466bf46e9fc8c71459088d'/>
<id>urn:sha1:383d13eaf17ba349e4466bf46e9fc8c71459088d</id>
<content type='text'>
Add support for 16-bit raw Bayer formats (SBGGR16, SGBRG16, SGRBG16,
SRGGB16) to both the pipeline subdev and video capture interface.

These formats are used by image sensors that output 16-bit raw data,
enabling the ISI to capture full dynamic range from such sensors.

Signed-off-by: Laurentiu Palcu &lt;laurentiu.palcu@oss.nxp.com&gt;
Reviewed-by: Frank Li &lt;Frank.Li@nxp.com&gt;
Reviewed-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Guoniu Zhou &lt;guoniu.zhou@oss.nxp.com&gt;
Reviewed-by: Loic Poulain &lt;loic.poulain@oss.qualcomm.com&gt;
Link: https://patch.msgid.link/20260728-isi-v5-3-1d22ab91602a@oss.nxp.com
Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil+cisco@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: nxp: imx8-isi: Implement per-stream reference counting for multiplexed streams</title>
<updated>2026-07-31T07:13:10Z</updated>
<author>
<name>Guoniu Zhou</name>
<email>guoniu.zhou@oss.nxp.com</email>
</author>
<published>2026-07-28T06:58:57Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=2be91091797df756d3b7b6ab5cb64295d2cdadb3'/>
<id>urn:sha1:2be91091797df756d3b7b6ab5cb64295d2cdadb3</id>
<content type='text'>
The ISI crossbar needs to properly enable multiple streams from different
virtual channels on the same input pad. Currently only the first stream
gets enabled in hardware, subsequent streams are silently ignored.

The driver uses a single enable_count per input to track the input state.
When enable_count is non-zero, the code assumes the input is already active
and skips calling v4l2_subdev_enable_streams() for additional streams:

  Call 1: enable_streams(stream 0)
    -&gt; enable_count == 0, enable gasket and stream 0 in hardware
    -&gt; enable_count = 1

  Call 2: enable_streams(stream 1)
    -&gt; enable_count == 1, skip hardware enable
    -&gt; enable_count = 2
    -&gt; stream 1 never gets enabled

Similarly on disable, when enable_count reaches zero, ALL streams are
disabled regardless of which streams are actually still active.

Implement per-stream state tracking by storing the input index and stream
mask in the mxc_isi_pipe structure. On enable, record which input and
stream the pipe is receiving. On disable, clear the pipe's record and
check if any other pipe is still using the same input stream before
actually disabling it.

Signed-off-by: Guoniu Zhou &lt;guoniu.zhou@oss.nxp.com&gt;
Reviewed-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Reviewed-by: Frank Li &lt;Frank.Li@nxp.com&gt;
Link: https://patch.msgid.link/20260728-isi-v5-2-1d22ab91602a@oss.nxp.com
Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil+cisco@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: nxp: imx8-isi: Use BIT_ULL() for 64-bit stream masks</title>
<updated>2026-07-31T07:13:10Z</updated>
<author>
<name>Guoniu Zhou</name>
<email>guoniu.zhou@oss.nxp.com</email>
</author>
<published>2026-07-28T06:58:56Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=77e60a2c5d824ad2d493f53dc17137ae065753fe'/>
<id>urn:sha1:77e60a2c5d824ad2d493f53dc17137ae065753fe</id>
<content type='text'>
Use BIT_ULL() instead of BIT() for u64 stream masks to avoid incorrect
results on 32-bit architectures when stream IDs are 32 or greater.

Fixes: cf21f328fcaf ("media: nxp: Add i.MX8 ISI driver")
Cc: stable@vger.kernel.org
Signed-off-by: Guoniu Zhou &lt;guoniu.zhou@oss.nxp.com&gt;
Reviewed-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Reviewed-by: Frank Li &lt;Frank.Li@nxp.com&gt;
Reviewed-by: Loic Poulain &lt;loic.poulain@oss.qualcomm.com&gt;
Link: https://patch.msgid.link/20260728-isi-v5-1-1d22ab91602a@oss.nxp.com
Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil+cisco@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: nxp: imx8-isi: Correct color map between V4L2 and ISI</title>
<updated>2026-07-31T07:13:10Z</updated>
<author>
<name>Guoniu Zhou</name>
<email>guoniu.zhou@oss.nxp.com</email>
</author>
<published>2026-07-20T03:34:07Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=4640ec1cb0121473867e7a6850c7449340dcd428'/>
<id>urn:sha1:4640ec1cb0121473867e7a6850c7449340dcd428</id>
<content type='text'>
Fix the ISI input format for the color map V4L2_PIX_FMT_XBGR32 in
memory-to-memory mode.

Fixes: cf21f328fcaf ("media: nxp: Add i.MX8 ISI driver")
Cc: stable@vger.kernel.org
Signed-off-by: Guoniu Zhou &lt;guoniu.zhou@oss.nxp.com&gt;
Tested-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Reviewed-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Reviewed-by: Frank Li &lt;Frank.Li@nxp.com&gt;
Link: https://patch.msgid.link/20260720-isi-v2-5-45845bc5d4fa@oss.nxp.com
Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil+cisco@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: nxp: imx8-isi: Add stream ID validation for crossbar routing</title>
<updated>2026-07-31T07:13:10Z</updated>
<author>
<name>Guoniu Zhou</name>
<email>guoniu.zhou@oss.nxp.com</email>
</author>
<published>2026-07-20T03:34:04Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=162a2a2de63b8028cc75d1197bc37b6cf951c13c'/>
<id>urn:sha1:162a2a2de63b8028cc75d1197bc37b6cf951c13c</id>
<content type='text'>
Add validation to enforce hardware constraints that were previously
missing in the crossbar routing configuration:

- SOURCE stream must be 0 (ISI pipes are hardcoded to stream 0)

This check complements the existing memory input validation and ensures
that all routing configurations respect hardware limitations.

Signed-off-by: Guoniu Zhou &lt;guoniu.zhou@oss.nxp.com&gt;
Reviewed-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Link: https://patch.msgid.link/20260720-isi-v2-2-45845bc5d4fa@oss.nxp.com
Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil+cisco@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: nxp: imx8-isi: Fix stream ID validation bypass in crossbar routing</title>
<updated>2026-07-31T07:13:10Z</updated>
<author>
<name>Guoniu Zhou</name>
<email>guoniu.zhou@oss.nxp.com</email>
</author>
<published>2026-07-20T03:34:03Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=795bd2863591f2fee33fab8f10cf9c383c94342e'/>
<id>urn:sha1:795bd2863591f2fee33fab8f10cf9c383c94342e</id>
<content type='text'>
The crossbar routing validation has a critical bug where it validates
the wrong routing table, allowing userspace to bypass validation entirely.

The __mxc_isi_crossbar_set_routing() function is called to validate and
apply a new routing table from userspace. However, the validation loop
iterates over state-&gt;routing (the currently active routing table) instead
of the routing parameter (the new table being validated):

    for_each_active_route(&amp;state-&gt;routing, route) {

This means userspace can submit any invalid routing configuration and it
will pass validation as long as the currently active routing is valid.
This is a security issue as it allows userspace to configure routes that
violate hardware constraints, potentially causing undefined hardware
behavior.

Fix by validating the routing table that will actually be applied.

Fixes: cf21f328fcaf ("media: nxp: Add i.MX8 ISI driver")
Cc: stable@vger.kernel.org
Signed-off-by: Guoniu Zhou &lt;guoniu.zhou@oss.nxp.com&gt;
Reviewed-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Reviewed-by: Frank Li &lt;Frank.Li@nxp.com&gt;
Link: https://patch.msgid.link/20260720-isi-v2-1-45845bc5d4fa@oss.nxp.com
Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil+cisco@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: nxp: imx8-isi: Add virtual channel support</title>
<updated>2026-07-31T07:13:10Z</updated>
<author>
<name>Guoniu Zhou</name>
<email>guoniu.zhou@nxp.com</email>
</author>
<published>2026-05-21T09:10:05Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=79feb648174047feb52728cd05d1d2f8f6ebf07a'/>
<id>urn:sha1:79feb648174047feb52728cd05d1d2f8f6ebf07a</id>
<content type='text'>
The ISI supports different numbers of virtual channels depending on the
platform. i.MX95 supports 8 virtual channels, and i.MX8QXP/QM support 4
virtual channels. They are used in multiple camera use cases, such as
surround view. Other platforms (such as i.MX8/MN/MP/ULP/91/93) don't
support virtual channels, and the VC_ID bits are marked as read-only.

Reviewed-by: Frank Li &lt;Frank.Li@nxp.com&gt;
Signed-off-by: Guoniu Zhou &lt;guoniu.zhou@nxp.com&gt;
Reviewed-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Link: https://patch.msgid.link/20260521-isi_vc-v5-2-a38eb4fcd58e@oss.nxp.com
Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil+cisco@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: nxp: imx8-isi: crossbar: Add get_frame_desc operation</title>
<updated>2026-07-31T07:13:10Z</updated>
<author>
<name>Guoniu.zhou</name>
<email>guoniu.zhou@nxp.com</email>
</author>
<published>2026-05-21T09:10:04Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=1541ecb9195ad3bd488cade2b43671a9c7c43736'/>
<id>urn:sha1:1541ecb9195ad3bd488cade2b43671a9c7c43736</id>
<content type='text'>
Implement the get_frame_desc pad operation for the crossbar subdev using
the v4l2_subdev_get_frame_desc_passthrough() helper. This allows the
crossbar to properly propagate frame descriptors from its sink pads to
its source pads, which is necessary for proper stream configuration in
multiplexed streams scenarios.

Signed-off-by: Guoniu.zhou &lt;guoniu.zhou@nxp.com&gt;
Reviewed-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Link: https://patch.msgid.link/20260521-isi_vc-v5-1-a38eb4fcd58e@oss.nxp.com
Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil+cisco@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: nxp: imx8-isi: Drop unneeded downscaling factor clamping</title>
<updated>2026-07-31T07:13:10Z</updated>
<author>
<name>Laurent Pinchart</name>
<email>laurent.pinchart@ideasonboard.com</email>
</author>
<published>2026-05-20T20:27:38Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=34fd8a99bd4053897adcd39c30c94e22fa51a9f4'/>
<id>urn:sha1:34fd8a99bd4053897adcd39c30c94e22fa51a9f4</id>
<content type='text'>
The total scaling factor including bi-linear downscaling and decimation
is clamped to 16. The bilinear factor calculation therefore produceds
values guaranteed not to exceed the maximum factor of 2.0. The clamping
is unneeded, drop it.

Note that the ISI_DOWNSCALE_THRESHOLD value of 0x4000 is incorrect, as
that would be a factor of 4.0. This was inconsequential given that the
computed factor never exceeded 0x2000.

Reviewed-by: Frank Li &lt;Frank.Li@nxp.com&gt;
Reviewed-by: Guoniu Zhou &lt;guoniu.zhou@nxp.com&gt;
Link: https://patch.msgid.link/20260520202738.86782-1-laurent.pinchart@ideasonboard.com
Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil+cisco@kernel.org&gt;
</content>
</entry>
</feed>
