Message ID | 20210111234011.3642481-3-heiko@sntech.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Fix the rkisp1 userspace API for later IP versions | expand |
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
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