[PATCH v2 0/5] media: rkisp1: Add support for the companding block

Laurent Pinchart
2024-07-04T15:50:04Z

Hello,

This patch series extends the rkisp1 driver to add support for the ISP's
companding block.

The companding block is an ISP processing block located at the front of
the processing pipeline that performs data expansion, black level
subtraction and data compression. It is found in the ISP8000Nano on the
i.MX8MP, and not present in Rockchip versions of the ISP, that implement
BLS in a dedicated block (not present in the ISP8000Nano) already
supported by the driver.

The first two patches start with preparatory work. Patch 1/5 refactors
existing duplicate code to share a common function, that will also be
used later in this series. Patch 2/5 then improves the ISP parameters
extensible format handler by making it possible to condition support for
particular ISP blocks based on device features.

Support for the companding block follows in the next three patches.
Patch 3/5 adds macros for the companding block registers, and patch 4/5
adds feature flags to differentiate between the dedicated BLS block and
the companding block. Finally, patch 5/5 adds support for the companding
block in the ISP parameters.

The series is based on Jacopo's support for extensible parameters in the
rkisp1 driver ("[PATCH v5 0/7] media: rkisp1: Implement support for
extensible parameters", see [1]). Thanks to that work, adding support
for a new ISP block in a backward compatible way is easy. I have pushed
a branch to [2] that includes all the dependencies, on top of the media
stage master branch.

[1] https://lore.kernel.org/r/20240703161048.247124-1-jacopo.mondi@ideasonboard.com
[2] https://git.kernel.org/pub/scm/linux/kernel/git/pinchartl/linux.git/log/?h=next/media/rkisp1

Laurent Pinchart (2):
media: rkisp1: Add helper function to swap colour channels
media: rkisp1: Add features mask to extensible block handlers

Paul Elder (3):
media: rkisp1: Add register definitions for the companding block
media: rkisp1: Add feature flags for BLS and compand
media: rkisp1: Add support for the companding block

.../platform/rockchip/rkisp1/rkisp1-common.c | 14 +
.../platform/rockchip/rkisp1/rkisp1-common.h | 7 +
.../platform/rockchip/rkisp1/rkisp1-dev.c | 9 +-
.../platform/rockchip/rkisp1/rkisp1-params.c | 243 ++++++++++++++----
.../platform/rockchip/rkisp1/rkisp1-regs.h | 23 ++
.../platform/rockchip/rkisp1/rkisp1-stats.c | 51 +---
include/uapi/linux/rkisp1-config.h | 89 ++++++-
7 files changed, 348 insertions(+), 88 deletions(-)

base-commit: 06d29a973fc1d19dc5d3337565b83e83344c14ea
--
Regards,

Laurent Pinchart