[2/2] media: rockchip: rkisp1: extend uapi array sizes
Commit Message
From: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Later variants of the rkisp1 block use more entries in some arrays:
RKISP1_CIF_ISP_AE_MEAN_MAX 25 -> 81
RKISP1_CIF_ISP_HIST_BIN_N_MAX 16 -> 32
RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES 17 -> 34
RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE 28 -> 81
and we can still extend the uapi during the 5.11-rc cycle, so do that
now to be on the safe side.
V10 and V11 only need the smaller sizes, while V12 and V13 needed
the larger sizes.
Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
---
changes since rfc:
- introduce constants for versions and make max use the biggest
include/uapi/linux/rkisp1-config.h | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
Comments
On 12/01/2021 00:40, Heiko Stuebner wrote:
> From: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
>
> Later variants of the rkisp1 block use more entries in some arrays:
>
> RKISP1_CIF_ISP_AE_MEAN_MAX 25 -> 81
> RKISP1_CIF_ISP_HIST_BIN_N_MAX 16 -> 32
> RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES 17 -> 34
> RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE 28 -> 81
>
> and we can still extend the uapi during the 5.11-rc cycle, so do that
> now to be on the safe side.
>
> V10 and V11 only need the smaller sizes, while V12 and V13 needed
> the larger sizes.
>
> Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
> ---
> changes since rfc:
> - introduce constants for versions and make max use the biggest
>
> include/uapi/linux/rkisp1-config.h | 18 ++++++++++++++----
> 1 file changed, 14 insertions(+), 4 deletions(-)
>
> diff --git a/include/uapi/linux/rkisp1-config.h b/include/uapi/linux/rkisp1-config.h
> index bad46aadf838..20d24656a8b7 100644
> --- a/include/uapi/linux/rkisp1-config.h
> +++ b/include/uapi/linux/rkisp1-config.h
> @@ -49,8 +49,14 @@
> #define RKISP1_CIF_ISP_CTK_COEFF_MAX 0x100
> #define RKISP1_CIF_ISP_CTK_OFFSET_MAX 0x800
>
> -#define RKISP1_CIF_ISP_AE_MEAN_MAX 25
> -#define RKISP1_CIF_ISP_HIST_BIN_N_MAX 16
> +#define RKISP1_CIF_ISP_AE_MEAN_MAX_V10 25
> +#define RKISP1_CIF_ISP_AE_MEAN_MAX_V12 81
> +#define RKISP1_CIF_ISP_AE_MEAN_MAX RKISP1_CIF_ISP_AE_MEAN_MAX_V12
> +
> +#define RKISP1_CIF_ISP_HIST_BIN_N_MAX_V10 16
> +#define RKISP1_CIF_ISP_HIST_BIN_N_MAX_V12 32
> +#define RKISP1_CIF_ISP_HIST_BIN_N_MAX RKISP1_CIF_ISP_HIST_BIN_N_MAX_V12
> +
> #define RKISP1_CIF_ISP_AFM_MAX_WINDOWS 3
> #define RKISP1_CIF_ISP_DEGAMMA_CURVE_SIZE 17
>
> @@ -86,7 +92,9 @@
> * Gamma out
> */
> /* Maximum number of color samples supported */
> -#define RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES 17
> +#define RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES_V10 17
> +#define RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES_V12 34
> +#define RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES_V12
>
> /*
> * Lens shade correction
> @@ -103,7 +111,9 @@
> * Histogram calculation
> */
> /* Last 3 values unused. */
> -#define RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE 28
> +#define RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE_V10 28
> +#define RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE_V12 81
> +#define RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE_V12
>
> /*
> * Defect Pixel Cluster Correction
>
You must update the documentation in this header for the relevant
structs as well, including a mention that this depends on hw_revision.
What happens to the unused parts of these arrays on a V10/V11 SoC?
Are they zeroed? Please check that no kernel memory contents is leaked
in the unused parts.
Regards,
Hans
@@ -49,8 +49,14 @@
#define RKISP1_CIF_ISP_CTK_COEFF_MAX 0x100
#define RKISP1_CIF_ISP_CTK_OFFSET_MAX 0x800
-#define RKISP1_CIF_ISP_AE_MEAN_MAX 25
-#define RKISP1_CIF_ISP_HIST_BIN_N_MAX 16
+#define RKISP1_CIF_ISP_AE_MEAN_MAX_V10 25
+#define RKISP1_CIF_ISP_AE_MEAN_MAX_V12 81
+#define RKISP1_CIF_ISP_AE_MEAN_MAX RKISP1_CIF_ISP_AE_MEAN_MAX_V12
+
+#define RKISP1_CIF_ISP_HIST_BIN_N_MAX_V10 16
+#define RKISP1_CIF_ISP_HIST_BIN_N_MAX_V12 32
+#define RKISP1_CIF_ISP_HIST_BIN_N_MAX RKISP1_CIF_ISP_HIST_BIN_N_MAX_V12
+
#define RKISP1_CIF_ISP_AFM_MAX_WINDOWS 3
#define RKISP1_CIF_ISP_DEGAMMA_CURVE_SIZE 17
@@ -86,7 +92,9 @@
* Gamma out
*/
/* Maximum number of color samples supported */
-#define RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES 17
+#define RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES_V10 17
+#define RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES_V12 34
+#define RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES_V12
/*
* Lens shade correction
@@ -103,7 +111,9 @@
* Histogram calculation
*/
/* Last 3 values unused. */
-#define RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE 28
+#define RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE_V10 28
+#define RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE_V12 81
+#define RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE_V12
/*
* Defect Pixel Cluster Correction