On 12/01/2021 00:40, Heiko Stuebner wrote: > From: Heiko Stuebner <heiko.stuebner@xxxxxxxxxxxxxxxxxxxxx> > > 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@xxxxxxxxxxxxxxxxxxxxx> > --- > 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