brcm2708: organize kernel patches
[openwrt/staging/chunkeey.git] / target / linux / brcm2708 / patches-4.19 / 950-0722-staging-bcm2835-camera-Add-greyworld-AWB-mode.patch
diff --git a/target/linux/brcm2708/patches-4.19/950-0722-staging-bcm2835-camera-Add-greyworld-AWB-mode.patch b/target/linux/brcm2708/patches-4.19/950-0722-staging-bcm2835-camera-Add-greyworld-AWB-mode.patch
new file mode 100644 (file)
index 0000000..a1e4149
--- /dev/null
@@ -0,0 +1,48 @@
+From b5ec436637af67f37efad1550945b750101527d4 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Fri, 6 Sep 2019 15:13:06 +0100
+Subject: [PATCH] staging: bcm2835-camera: Add greyworld AWB mode
+
+This is mainly used for the NoIR camera which has no IR
+filter and can completely confuse normal AWB presets.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ drivers/staging/vc04_services/bcm2835-camera/controls.c   | 8 ++++++--
+ .../staging/vc04_services/vchiq-mmal/mmal-parameters.h    | 1 +
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+--- a/drivers/staging/vc04_services/bcm2835-camera/controls.c
++++ b/drivers/staging/vc04_services/bcm2835-camera/controls.c
+@@ -481,6 +481,10 @@ static int ctrl_set_awb_mode(struct bm28
+       case V4L2_WHITE_BALANCE_SHADE:
+               u32_value = MMAL_PARAM_AWBMODE_SHADE;
+               break;
++
++      case V4L2_WHITE_BALANCE_GREYWORLD:
++              u32_value = MMAL_PARAM_AWBMODE_GREYWORLD;
++              break;
+       }
+       return vchiq_mmal_port_parameter_set(dev->instance, control,
+@@ -1008,8 +1012,8 @@ static const struct bm2835_mmal_v4l2_ctr
+       {
+               V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE,
+               MMAL_CONTROL_TYPE_STD_MENU,
+-              ~0x3ff, V4L2_WHITE_BALANCE_SHADE, V4L2_WHITE_BALANCE_AUTO, 0,
+-              NULL,
++              ~0x7ff, V4L2_WHITE_BALANCE_GREYWORLD, V4L2_WHITE_BALANCE_AUTO,
++              0, NULL,
+               MMAL_PARAMETER_AWB_MODE,
+               &ctrl_set_awb_mode,
+               false
+--- a/drivers/staging/vc04_services/vchiq-mmal/mmal-parameters.h
++++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-parameters.h
+@@ -313,6 +313,7 @@ enum mmal_parameter_awbmode {
+       MMAL_PARAM_AWBMODE_INCANDESCENT,
+       MMAL_PARAM_AWBMODE_FLASH,
+       MMAL_PARAM_AWBMODE_HORIZON,
++      MMAL_PARAM_AWBMODE_GREYWORLD,
+ };
+ enum mmal_parameter_imagefx {