]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
media: rkisp1: Add helper function to swap colour channels
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Thu, 8 Aug 2024 20:41:01 +0000 (22:41 +0200)
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Wed, 14 Aug 2024 13:42:56 +0000 (16:42 +0300)
commitd2db5694fde8212a8bd4269f1b60ed9a2a3b20cc
tree09d091244b63203953c5e22a537f583833cc93eb
parentf848c0312e392d90556cbffa3b0632780c147f46
media: rkisp1: Add helper function to swap colour channels

The BLS parameters passed by userspace are specified for named colour
channels (R, Gr, Gb and B), while the hardware registers reference
positions in the 2x2 CFA pattern (A, B, C and D).

The BLS values are swapped based on the CFA pattern when writing to or
reading from registers, using hand-roled switch statements. The logic is
duplicated already, and new code will require similar processing. Move
the swap logic to a shared function, using static data to control the
channels order.

Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Tested-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
drivers/media/platform/rockchip/rkisp1/rkisp1-common.c
drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
drivers/media/platform/rockchip/rkisp1/rkisp1-params.c
drivers/media/platform/rockchip/rkisp1/rkisp1-stats.c