[PATCH v5 00/12] media: microchip-isc: fixes and enhancements

From: Balakrishnan Sambath

Date: Wed May 27 2026 - 07:08:18 EST


Bug fixes and feature additions for the Microchip ISC/XISC driver.

Fixes:
- SBGGR10 Bayer pattern was mapped incorrectly (red/blue swap)
- WB register fields corrupted by sign extension
- Race between histogram IRQ and stream stop
- PM runtime reference leak in AWB work handler

Features:
- Driver documentation
- Gamma 1.8/2.4 preset curves
- Hue/saturation controls for SAMA7G5
- Grey World AWB with EMA smoothing

Split from v1 per review. Histogram statistics support is being sent
as a separate follow-up series.

Tested on SAMA7G5-EK with IMX219 (RAW10 Bayer capture, AWB, controls
verified across 8 formats and 5 resolutions up to 3264x2464).

Based on v6.19 (e9ec05addd1a).

v1: https://lore.kernel.org/linux-media/20251009155251.102472-1-balamanikandan.gunasundar@xxxxxxxxxxxxx/
v2: https://lore.kernel.org/linux-media/20260512154339.210444-1-balakrishnan.s@xxxxxxxxxxxxx/
v3: https://lore.kernel.org/linux-media/20260513071742.97263-1-balakrishnan.s@xxxxxxxxxxxxx/
v4: https://lore.kernel.org/linux-media/20260518-balki-isc-series1-v4-v4-0-97f189185b7e@xxxxxxxxxxxxx/

v5:
- Picked up Eugen's Reviewed-by on the PM runtime leak fix.
The SBGGR10 fix is extended to SAMA5D2 in v5, so dropped his
Reviewed-by from that patch pending re-review.
- Fix SAMA7G5 pipeline mask: CBHS_ENABLE, not CBC_ENABLE
- Per-platform gamma_default. v4 used 1 for both SoCs, which picks
the wrong curve on SAMA5D2 (1/2.2 is at index 2 there, index 1
on SAMA7G5)
- Fix V4L2_CID_SATURATION range to 0..127 (Q4); update docs to match
- Initialise hue/saturation at probe to avoid a grayscale first frame
- Reset histogram stats and gain_smooth in isc_reset_awb_ctrls() so
AWB does not consume stale state from a previous stream
- Reword WB masking subject; expand commit bodies on the feature
patches

v4:
- Drop gamma LUT controls and CC matrix V4L2 controls patches (move
to parameter buffer follow-up per Sakari's review)
- Drop AWB enable pipeline reset patch (cleanup for the dropped
controls, will return with the follow-up series)
- Update documentation patch to remove references to dropped controls
- Rebase on v6.19

v3:
- Fix bisect failures (regmap declaration, gamma LUT macro ordering)
- Fix Fixes: tag (use mainline commit, not staging)
- Add Co-developed-by trailers for Balamanikandan Gunasundar

v2:
- Split series (histogram stats moved to a separate follow-up series)
- Reorder: bug fixes first, then features
- Commit message cleanups
- Rebase on v6.19-rc8

Signed-off-by: Balakrishnan Sambath <balakrishnan.s@xxxxxxxxxxxxx>

---
Balakrishnan Sambath (12):
media: microchip-isc: fix SBGGR10 Bayer pattern
media: microchip-isc: fix WB offset and gain register field masking
media: microchip-isc: fix race condition on stream stop
media: microchip-isc: fix PM runtime leak in AWB work handler
media: microchip-isc: add driver documentation
media: microchip-isc: set SAM9X7 maximum resolution to 2560x1920
media: microchip-isc: configure DPC and pipeline for SAMA7G5
media: microchip-isc: add gamma 1.8 and 2.4 correction curves
media: microchip-isc: add SAMA7G5 hue and saturation controls
media: microchip-isc: use weighted averages for Grey World AWB
media: microchip-isc: smooth AWB gains with EMA filter
media: microchip-isc: scale DPC black level to sensor bit depth

.../userspace-api/media/drivers/index.rst | 1 +
.../userspace-api/media/drivers/microchip-isc.rst | 68 +++++
MAINTAINERS | 1 +
.../media/platform/microchip/microchip-isc-base.c | 328 ++++++++++++++++-----
.../media/platform/microchip/microchip-isc-regs.h | 11 +-
drivers/media/platform/microchip/microchip-isc.h | 9 +-
.../platform/microchip/microchip-sama5d2-isc.c | 6 +-
.../platform/microchip/microchip-sama7g5-isc.c | 102 +++++--
8 files changed, 426 insertions(+), 100 deletions(-)
---
base-commit: 05f7e89ab9731565d8a62e3b5d1ec206485eeb0b
change-id: 20260525-microchip-isc-fixes-a2cdef7c3d6e

Best regards,
--
Balakrishnan Sambath <balakrishnan.s@xxxxxxxxxxxxx>