[PATCH v4 0/3] imx8-isi: Format support enhancements
Guoniu Zhou <[email protected]>
| Newsgroups | dev.linux.lists.imx,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-kernel,org.kernel.vger.linux-media |
|---|---|
| Message-ID | <[email protected]> |
This is a follow-up series to the imx8-isi bug fixes and format support patches [1]. Patches 1/6, 2/6, and 5/6 from v2 have been merged into the maintainer's branch (pinchart/for-next/media/nxp). This series contains the remaining 3 patches rebased on top of the merged changes. Patch 1 implements per-stream reference counting in the crossbar to properly enable multiple streams from different virtual channels on the same input pad. Patch 2 adds support for 16-bit raw Bayer formats (SBGGR16, SGBRG16, SGRBG16, SRGGB16) and Y16 (16-bit monochrome). Patch 3 extends RGB format support by adding BGRA32, RGBA32, BGRX32, RGBX32, and ARGB2101010 formats. [1] https://lore.kernel.org/r/[email protected] Signed-off-by: Guoniu Zhou <[email protected]> --- Changes in v4: - [1/3] Make enable/disable symmetric by checking stream_in_use - [1/3] Add mxc_isi_crossbar_stream_in_use() helper for both paths - Link to v3: https://lore.kernel.org/r/[email protected] Changes in v3: - Rebased on maintainer's branch which already includes v2 patches 1/6, 2/6, and 5/6 (stream ID validation fixes and color map correction) - Series reduced from 6 patches to 3 patches (remaining unmerged patches) - Patch numbering updated: v2 3/6 -> v3 1/3, v2 4/6 -> v3 2/3, v2 6/6 -> v3 3/3 - [1/3] Change from "Fix" to "Implement" as multi-stream support is for newer SoCs not present when the driver was merged (Laurent) - [1/3] Remove Fixes and Cc: stable tags (Laurent) - [1/3] Store input/input_stream in mxc_isi_pipe instead of using per-stream counters array, avoiding arbitrary 64-entry limit (Laurent) - [1/3] Use UINT_MAX to mark pipe as inactive to distinguish from valid pad 0 - [2/3] Remove "high-end" from description as RAW16 is common now (Laurent) - [2/3] Add Y16 (16-bit monochrome) format support (Laurent) - [2/3] Add Reviewed-by tag from Laurent - [3/3] Drop M2M_OUT for ABGR32/BGRA32/RGBA32 as ISI ignores alpha bits (Laurent) - [3/3] Remove Android requirements from commit message as alpha formats cannot be used as M2M input (Laurent) - [3/3] Add Tested-by tag from Laurent Pinchart - Link to v2: https://lore.kernel.org/r/[email protected] 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/[email protected] --- Guoniu Zhou (2): media: nxp: imx8-isi: Implement per-stream reference counting for multiplexed streams 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 | 5 +- .../platform/nxp/imx8-isi/imx8-isi-crossbar.c | 84 ++++++++++++++----- .../media/platform/nxp/imx8-isi/imx8-isi-pipe.c | 31 +++++++ .../media/platform/nxp/imx8-isi/imx8-isi-video.c | 96 ++++++++++++++++++++++ 4 files changed, 193 insertions(+), 23 deletions(-) --- base-commit: 4d32fbba9d23f50d157ed4a37c9e8fbce61c904a change-id: 20260626-isi-00f05b044ac9 Best regards, -- Guoniu Zhou <[email protected]>