media: rkisp1: uapi: change hist_bins array type from __u16 to __u32
authorDafna Hirschfeld <dafna.hirschfeld@collabora.com>
Thu, 21 Jan 2021 14:44:02 +0000 (15:44 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Thu, 28 Jan 2021 10:29:23 +0000 (11:29 +0100)
Each entry in the array is a 20 bits value composed of 16 bits unsigned
integer and 4 bits fractional part. So the type should change to __u32.
In addition add a documentation of how the measurements are done.

Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@collabora.com>
Acked-by: Helen Koike <helen.koike@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
include/uapi/linux/rkisp1-config.h

index 6e449e78426054c86f919ab7a19adb27ef2c888c..24f05d6d258f939ab8022849e78d2f7839761397 100644 (file)
@@ -844,13 +844,18 @@ struct rkisp1_cif_isp_af_stat {
 /**
  * struct rkisp1_cif_isp_hist_stat - statistics histogram data
  *
- * @hist_bins: measured bin counters
+ * @hist_bins: measured bin counters. Each bin is a 20 bits unsigned fixed point
+ *            type. Bits 0-4 are the fractional part and bits 5-19 are the
+ *            integer part.
  *
- * Measurement window divided into 25 sub-windows, set
- * with ISP_HIST_XXX
+ * The window of the measurements area is divided to 5x5 sub-windows. The
+ * histogram is then computed for each sub-window independently and the final
+ * result is a weighted average of the histogram measurements on all
+ * sub-windows. The window of the measurements area and the weight of each
+ * sub-window are configurable using struct @rkisp1_cif_isp_hst_config.
  */
 struct rkisp1_cif_isp_hist_stat {
-       __u16 hist_bins[RKISP1_CIF_ISP_HIST_BIN_N_MAX];
+       __u32 hist_bins[RKISP1_CIF_ISP_HIST_BIN_N_MAX];
 };
 
 /**