diff options
Diffstat (limited to 'drivers/staging/media/rkisp1/uapi/rkisp1-config.h')
-rw-r--r-- | drivers/staging/media/rkisp1/uapi/rkisp1-config.h | 289 |
1 files changed, 179 insertions, 110 deletions
diff --git a/drivers/staging/media/rkisp1/uapi/rkisp1-config.h b/drivers/staging/media/rkisp1/uapi/rkisp1-config.h index 8f9b061e5b6b..432cb6be55b4 100644 --- a/drivers/staging/media/rkisp1/uapi/rkisp1-config.h +++ b/drivers/staging/media/rkisp1/uapi/rkisp1-config.h @@ -4,11 +4,6 @@ * Copyright (C) 2017 Rockchip Electronics Co., Ltd. */ -/* - * TODO: Improve documentation, mostly regarding abbreviation and hardware - * specificities. Reference: "REF_01 - ISP_user_manual, Rev 2.57" (not public) - */ - #ifndef _UAPI_RKISP1_CONFIG_H #define _UAPI_RKISP1_CONFIG_H @@ -18,24 +13,42 @@ #define V4L2_META_FMT_RK_ISP1_PARAMS v4l2_fourcc('R', 'K', '1', 'P') /* Rockchip ISP1 params */ #define V4L2_META_FMT_RK_ISP1_STAT_3A v4l2_fourcc('R', 'K', '1', 'S') /* Rockchip ISP1 3A statistics */ -#define RKISP1_CIF_ISP_MODULE_DPCC BIT(0) -#define RKISP1_CIF_ISP_MODULE_BLS BIT(1) -#define RKISP1_CIF_ISP_MODULE_SDG BIT(2) -#define RKISP1_CIF_ISP_MODULE_HST BIT(3) -#define RKISP1_CIF_ISP_MODULE_LSC BIT(4) -#define RKISP1_CIF_ISP_MODULE_AWB_GAIN BIT(5) -#define RKISP1_CIF_ISP_MODULE_FLT BIT(6) -#define RKISP1_CIF_ISP_MODULE_BDM BIT(7) -#define RKISP1_CIF_ISP_MODULE_CTK BIT(8) -#define RKISP1_CIF_ISP_MODULE_GOC BIT(9) -#define RKISP1_CIF_ISP_MODULE_CPROC BIT(10) -#define RKISP1_CIF_ISP_MODULE_AFC BIT(11) -#define RKISP1_CIF_ISP_MODULE_AWB BIT(12) -#define RKISP1_CIF_ISP_MODULE_IE BIT(13) -#define RKISP1_CIF_ISP_MODULE_AEC BIT(14) -#define RKISP1_CIF_ISP_MODULE_WDR BIT(15) -#define RKISP1_CIF_ISP_MODULE_DPF BIT(16) -#define RKISP1_CIF_ISP_MODULE_DPF_STRENGTH BIT(17) +/* Defect Pixel Cluster Detection */ +#define RKISP1_CIF_ISP_MODULE_DPCC (1U << 0) +/* Black Level Subtraction */ +#define RKISP1_CIF_ISP_MODULE_BLS (1U << 1) +/* Sensor De-gamma */ +#define RKISP1_CIF_ISP_MODULE_SDG (1U << 2) +/* Histogram */ +#define RKISP1_CIF_ISP_MODULE_HST (1U << 3) +/* Lens Shade Control */ +#define RKISP1_CIF_ISP_MODULE_LSC (1U << 4) +/* Auto White Balance Gain */ +#define RKISP1_CIF_ISP_MODULE_AWB_GAIN (1U << 5) +/* Filter */ +#define RKISP1_CIF_ISP_MODULE_FLT (1U << 6) +/* Bayer Demosaic */ +#define RKISP1_CIF_ISP_MODULE_BDM (1U << 7) +/* Cross Talk */ +#define RKISP1_CIF_ISP_MODULE_CTK (1U << 8) +/* Gamma Out Curve */ +#define RKISP1_CIF_ISP_MODULE_GOC (1U << 9) +/* Color Processing */ +#define RKISP1_CIF_ISP_MODULE_CPROC (1U << 10) +/* Auto Focus Control */ +#define RKISP1_CIF_ISP_MODULE_AFC (1U << 11) +/* Auto White Balancing */ +#define RKISP1_CIF_ISP_MODULE_AWB (1U << 12) +/* Image Effect */ +#define RKISP1_CIF_ISP_MODULE_IE (1U << 13) +/* Auto Exposure Control */ +#define RKISP1_CIF_ISP_MODULE_AEC (1U << 14) +/* Wide Dynamic Range */ +#define RKISP1_CIF_ISP_MODULE_WDR (1U << 15) +/* Denoise Pre-Filter */ +#define RKISP1_CIF_ISP_MODULE_DPF (1U << 16) +/* Denoise Pre-Filter Strength */ +#define RKISP1_CIF_ISP_MODULE_DPF_STRENGTH (1U << 17) #define RKISP1_CIF_ISP_CTK_COEFF_MAX 0x100 #define RKISP1_CIF_ISP_CTK_OFFSET_MAX 0x800 @@ -82,14 +95,13 @@ /* * Lens shade correction */ -#define RKISP1_CIF_ISP_LSC_GRAD_TBL_SIZE 8 -#define RKISP1_CIF_ISP_LSC_SIZE_TBL_SIZE 8 +#define RKISP1_CIF_ISP_LSC_SECTORS_TBL_SIZE 8 + /* * The following matches the tuning process, * not the max capabilities of the chip. - * Last value unused. */ -#define RKISP1_CIF_ISP_LSC_DATA_TBL_SIZE 290 +#define RKISP1_CIF_ISP_LSC_SAMPLES_MAX 17 /* * Histogram calculation @@ -111,10 +123,10 @@ /* * Measurement types */ -#define RKISP1_CIF_ISP_STAT_AWB BIT(0) -#define RKISP1_CIF_ISP_STAT_AUTOEXP BIT(1) -#define RKISP1_CIF_ISP_STAT_AFM_FIN BIT(2) -#define RKISP1_CIF_ISP_STAT_HIST BIT(3) +#define RKISP1_CIF_ISP_STAT_AWB (1U << 0) +#define RKISP1_CIF_ISP_STAT_AUTOEXP (1U << 1) +#define RKISP1_CIF_ISP_STAT_AFM (1U << 2) +#define RKISP1_CIF_ISP_STAT_HIST (1U << 3) enum rkisp1_cif_isp_histogram_mode { RKISP1_CIF_ISP_HISTOGRAM_MODE_DISABLE, @@ -158,12 +170,23 @@ enum rkisp1_cif_isp_exp_meas_mode { /*---------- PART1: Input Parameters ------------*/ +/** + * struct rkisp1_cif_isp_window - measurement window. + * + * Measurements are calculated per window inside the frame. + * This struct represents a window for a measurement. + * + * @h_offs: the horizontal offset of the window from the left of the frame in pixels. + * @v_offs: the vertical offset of the window from the top of the frame in pixels. + * @h_size: the horizontal size of the window in pixels + * @v_size: the vertical size of the window in pixels. + */ struct rkisp1_cif_isp_window { __u16 h_offs; __u16 v_offs; __u16 h_size; __u16 v_size; -} __packed; +}; /** * struct rkisp1_cif_isp_bls_fixed_val - BLS fixed subtraction values @@ -181,7 +204,7 @@ struct rkisp1_cif_isp_bls_fixed_val { __s16 gr; __s16 gb; __s16 b; -} __packed; +}; /** * struct rkisp1_cif_isp_bls_config - Configuration used by black level subtraction @@ -203,7 +226,7 @@ struct rkisp1_cif_isp_bls_config { struct rkisp1_cif_isp_window bls_window2; __u8 bls_samples; struct rkisp1_cif_isp_bls_fixed_val fixed_val; -} __packed; +}; /** * struct rkisp1_cif_isp_dpcc_methods_config - Methods Configuration used by DPCC @@ -224,7 +247,7 @@ struct rkisp1_cif_isp_dpcc_methods_config { __u32 pg_fac; __u32 rnd_thresh; __u32 rg_fac; -} __packed; +}; /** * struct rkisp1_cif_isp_dpcc_config - Configuration used by DPCC @@ -245,53 +268,88 @@ struct rkisp1_cif_isp_dpcc_config { struct rkisp1_cif_isp_dpcc_methods_config methods[RKISP1_CIF_ISP_DPCC_METHODS_MAX]; __u32 ro_limits; __u32 rnd_offs; -} __packed; +}; +/** + * struct rkisp1_cif_isp_gamma_corr_curve - gamma curve point definition y-axis (output). + * + * The reset values define a linear curve which has the same effect as bypass. Reset values are: + * gamma_y[0] = 0x0000, gamma_y[1] = 0x0100, ... gamma_y[15] = 0x0f00, gamma_y[16] = 0xfff + * + * @gamma_y: the values for the y-axis of gamma curve points. Each value is 12 bit. + */ struct rkisp1_cif_isp_gamma_corr_curve { __u16 gamma_y[RKISP1_CIF_ISP_DEGAMMA_CURVE_SIZE]; -} __packed; +}; +/** + * struct rkisp1_cif_isp_gamma_curve_x_axis_pnts - De-Gamma Curve definition x increments + * (sampling points). gamma_dx0 is for the lower samples (1-8), gamma_dx1 is for the + * higher samples (9-16). The reset values for both fields is 0x44444444. This means + * that each sample is 4 units away from the previous one on the x-axis. + * + * @gamma_dx0: gamma curve sample points definitions. Bits 0:2 for sample 1. Bit 3 unused. + * Bits 4:6 for sample 2. bit 7 unused ... Bits 28:30 for sample 8. Bit 31 unused + * @gamma_dx1: gamma curve sample points definitions. Bits 0:2 for sample 9. Bit 3 unused. + * Bits 4:6 for sample 10. bit 7 unused ... Bits 28:30 for sample 16. Bit 31 unused + */ struct rkisp1_cif_isp_gamma_curve_x_axis_pnts { __u32 gamma_dx0; __u32 gamma_dx1; -} __packed; +}; /** * struct rkisp1_cif_isp_sdg_config - Configuration used by sensor degamma * - * @curve_x: gamma curve point definition axis for x - * @xa_pnts: x increments + * @curve_r: gamma curve point definition axis for red + * @curve_g: gamma curve point definition axis for green + * @curve_b: gamma curve point definition axis for blue + * @xa_pnts: x axis increments */ struct rkisp1_cif_isp_sdg_config { struct rkisp1_cif_isp_gamma_corr_curve curve_r; struct rkisp1_cif_isp_gamma_corr_curve curve_g; struct rkisp1_cif_isp_gamma_corr_curve curve_b; struct rkisp1_cif_isp_gamma_curve_x_axis_pnts xa_pnts; -} __packed; +}; /** * struct rkisp1_cif_isp_lsc_config - Configuration used by Lens shading correction * - * refer to REF_01 for details + * @r_data_tbl: sample table red + * @gr_data_tbl: sample table green (red) + * @gb_data_tbl: sample table green (blue) + * @b_data_tbl: sample table blue + * @x_grad_tbl: gradient table x + * @y_grad_tbl: gradient table y + * @x_size_tbl: size table x + * @y_size_tbl: size table y + * @config_width: not used at the moment + * @config_height: not used at the moment */ struct rkisp1_cif_isp_lsc_config { - __u32 r_data_tbl[RKISP1_CIF_ISP_LSC_DATA_TBL_SIZE]; - __u32 gr_data_tbl[RKISP1_CIF_ISP_LSC_DATA_TBL_SIZE]; - __u32 gb_data_tbl[RKISP1_CIF_ISP_LSC_DATA_TBL_SIZE]; - __u32 b_data_tbl[RKISP1_CIF_ISP_LSC_DATA_TBL_SIZE]; + __u16 r_data_tbl[RKISP1_CIF_ISP_LSC_SAMPLES_MAX][RKISP1_CIF_ISP_LSC_SAMPLES_MAX]; + __u16 gr_data_tbl[RKISP1_CIF_ISP_LSC_SAMPLES_MAX][RKISP1_CIF_ISP_LSC_SAMPLES_MAX]; + __u16 gb_data_tbl[RKISP1_CIF_ISP_LSC_SAMPLES_MAX][RKISP1_CIF_ISP_LSC_SAMPLES_MAX]; + __u16 b_data_tbl[RKISP1_CIF_ISP_LSC_SAMPLES_MAX][RKISP1_CIF_ISP_LSC_SAMPLES_MAX]; - __u32 x_grad_tbl[RKISP1_CIF_ISP_LSC_GRAD_TBL_SIZE]; - __u32 y_grad_tbl[RKISP1_CIF_ISP_LSC_GRAD_TBL_SIZE]; + __u16 x_grad_tbl[RKISP1_CIF_ISP_LSC_SECTORS_TBL_SIZE]; + __u16 y_grad_tbl[RKISP1_CIF_ISP_LSC_SECTORS_TBL_SIZE]; - __u32 x_size_tbl[RKISP1_CIF_ISP_LSC_SIZE_TBL_SIZE]; - __u32 y_size_tbl[RKISP1_CIF_ISP_LSC_SIZE_TBL_SIZE]; + __u16 x_size_tbl[RKISP1_CIF_ISP_LSC_SECTORS_TBL_SIZE]; + __u16 y_size_tbl[RKISP1_CIF_ISP_LSC_SECTORS_TBL_SIZE]; __u16 config_width; __u16 config_height; -} __packed; +}; /** * struct rkisp1_cif_isp_ie_config - Configuration used by image effects * + * @effect: values from 'enum v4l2_colorfx'. Possible values are: V4L2_COLORFX_SEPIA, + * V4L2_COLORFX_SET_CBCR, V4L2_COLORFX_AQUA, V4L2_COLORFX_EMBOSS, + * V4L2_COLORFX_SKETCH, V4L2_COLORFX_BW, V4L2_COLORFX_NEGATIVE + * @color_sel: bits 0:2 - colors bitmask (001 - blue, 010 - green, 100 - red). + * bits 8:15 - Threshold value of the RGB colors for the color selection effect. * @eff_mat_1: 3x3 Matrix Coefficients for Emboss Effect 1 * @eff_mat_2: 3x3 Matrix Coefficients for Emboss Effect 2 * @eff_mat_3: 3x3 Matrix Coefficients for Emboss 3/Sketch 1 @@ -308,7 +366,7 @@ struct rkisp1_cif_isp_ie_config { __u16 eff_mat_4; __u16 eff_mat_5; __u16 eff_tint; -} __packed; +}; /** * struct rkisp1_cif_isp_cproc_config - Configuration used by Color Processing @@ -330,13 +388,13 @@ struct rkisp1_cif_isp_cproc_config { __u8 brightness; __u8 sat; __u8 hue; -} __packed; +}; /** * struct rkisp1_cif_isp_awb_meas_config - Configuration used by auto white balance * + * @awb_mode: the awb meas mode. From enum rkisp1_cif_isp_awb_mode_type. * @awb_wnd: white balance measurement window (in pixels) - * (from enum rkisp1_cif_isp_awb_mode_type) * @max_y: only pixels values < max_y contribute to awb measurement, set to 0 * to disable this feature * @min_y: only pixels values > min_y contribute to awb measurement @@ -348,6 +406,7 @@ struct rkisp1_cif_isp_cproc_config { * (ucFrames=0 means 1 Frame) * @awb_ref_cr: reference Cr value for AWB regulation, target for AWB * @awb_ref_cb: reference Cb value for AWB regulation, target for AWB + * @enable_ymax_cmp: enable Y_MAX compare (Not valid in RGB measurement mode.) */ struct rkisp1_cif_isp_awb_meas_config { /* @@ -363,31 +422,49 @@ struct rkisp1_cif_isp_awb_meas_config { __u8 awb_ref_cr; __u8 awb_ref_cb; __u8 enable_ymax_cmp; -} __packed; +}; /** * struct rkisp1_cif_isp_awb_gain_config - Configuration used by auto white balance gain * - * out_data_x = ( AWB_GEAIN_X * in_data + 128) >> 8 + * All fields in this struct are 10 bit, where: + * 0x100h = 1, unsigned integer value, range 0 to 4 with 8 bit fractional part. + * + * out_data_x = ( AWB_GAIN_X * in_data + 128) >> 8 + * + * @gain_red: gain value for red component. + * @gain_green_r: gain value for green component in red line. + * @gain_blue: gain value for blue component. + * @gain_green_b: gain value for green component in blue line. */ struct rkisp1_cif_isp_awb_gain_config { __u16 gain_red; __u16 gain_green_r; __u16 gain_blue; __u16 gain_green_b; -} __packed; +}; /** * struct rkisp1_cif_isp_flt_config - Configuration used by ISP filtering * - * @mode: ISP_FILT_MODE register fields (from enum rkisp1_cif_isp_flt_mode) - * @grn_stage1: ISP_FILT_MODE register fields - * @chr_h_mode: ISP_FILT_MODE register fields - * @chr_v_mode: ISP_FILT_MODE register fields + * All 4 threshold fields (thresh_*) are 10 bits. + * All 6 factor fields (fac_*) are 6 bits. * - * refer to REF_01 for details. + * @mode: ISP_FILT_MODE register fields (from enum rkisp1_cif_isp_flt_mode) + * @grn_stage1: Green filter stage 1 select (range 0x0...0x8) + * @chr_h_mode: Chroma filter horizontal mode + * @chr_v_mode: Chroma filter vertical mode + * @thresh_bl0: If thresh_bl1 < sum_grad < thresh_bl0 then fac_bl0 is selected (blurring th) + * @thresh_bl1: If sum_grad < thresh_bl1 then fac_bl1 is selected (blurring th) + * @thresh_sh0: If thresh_sh0 < sum_grad < thresh_sh1 then thresh_sh0 is selected (sharpening th) + * @thresh_sh1: If thresh_sh1 < sum_grad then thresh_sh1 is selected (sharpening th) + * @lum_weight: Parameters for luminance weight function. + * @fac_sh1: filter factor for sharp1 level + * @fac_sh0: filter factor for sharp0 level + * @fac_mid: filter factor for mid level and for static filter mode + * @fac_bl0: filter factor for blur 0 level + * @fac_bl1: filter factor for blur 1 level (max blur) */ - struct rkisp1_cif_isp_flt_config { __u32 mode; __u8 grn_stage1; @@ -403,7 +480,7 @@ struct rkisp1_cif_isp_flt_config { __u32 fac_mid; __u32 fac_bl0; __u32 fac_bl1; -} __packed; +}; /** * struct rkisp1_cif_isp_bdm_config - Configuration used by Bayer DeMosaic @@ -412,28 +489,20 @@ struct rkisp1_cif_isp_flt_config { */ struct rkisp1_cif_isp_bdm_config { __u8 demosaic_th; -} __packed; +}; /** * struct rkisp1_cif_isp_ctk_config - Configuration used by Cross Talk correction * - * @coeff: color correction matrix - * @ct_offset_b: offset for the crosstalk correction matrix + * @coeff: color correction matrix. Values are 11-bit signed fixed-point numbers with 4 bit integer + * and 7 bit fractional part, ranging from -8 (0x400) to +7.992 (0x3FF). 0 is + * represented by 0x000 and a coefficient value of 1 as 0x080. + * @ct_offset: Red, Green, Blue offsets for the crosstalk correction matrix */ struct rkisp1_cif_isp_ctk_config { - __u16 coeff0; - __u16 coeff1; - __u16 coeff2; - __u16 coeff3; - __u16 coeff4; - __u16 coeff5; - __u16 coeff6; - __u16 coeff7; - __u16 coeff8; - __u16 ct_offset_r; - __u16 ct_offset_g; - __u16 ct_offset_b; -} __packed; + __u16 coeff[3][3]; + __u16 ct_offset[3]; +}; enum rkisp1_cif_isp_goc_mode { RKISP1_CIF_ISP_GOC_MODE_LOGARITHMIC, @@ -449,7 +518,7 @@ enum rkisp1_cif_isp_goc_mode { struct rkisp1_cif_isp_goc_config { __u32 mode; __u16 gamma_y[RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES]; -} __packed; +}; /** * struct rkisp1_cif_isp_hst_config - Configuration used by Histogram @@ -465,7 +534,7 @@ struct rkisp1_cif_isp_hst_config { __u8 histogram_predivider; struct rkisp1_cif_isp_window meas_window; __u8 hist_weight[RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE]; -} __packed; +}; /** * struct rkisp1_cif_isp_aec_config - Configuration used by Auto Exposure Control @@ -478,7 +547,7 @@ struct rkisp1_cif_isp_aec_config { __u32 mode; __u32 autostop; struct rkisp1_cif_isp_window meas_window; -} __packed; +}; /** * struct rkisp1_cif_isp_afc_config - Configuration used by Auto Focus Control @@ -494,7 +563,7 @@ struct rkisp1_cif_isp_afc_config { struct rkisp1_cif_isp_window afm_win[RKISP1_CIF_ISP_AFM_MAX_WINDOWS]; __u32 thres; __u32 var_shift; -} __packed; +}; /** * enum rkisp1_cif_isp_dpf_gain_usage - dpf gain usage @@ -549,7 +618,7 @@ enum rkisp1_cif_isp_dpf_nll_scale_mode { struct rkisp1_cif_isp_dpf_nll { __u16 coeff[RKISP1_CIF_ISP_DPF_MAX_NLF_COEFFS]; __u32 scale_mode; -} __packed; +}; /** * struct rkisp1_cif_isp_dpf_rb_flt - Red blue filter config @@ -565,7 +634,7 @@ struct rkisp1_cif_isp_dpf_rb_flt { __u8 spatial_coeff[RKISP1_CIF_ISP_DPF_MAX_SPATIAL_COEFFS]; __u8 r_enable; __u8 b_enable; -} __packed; +}; /** * struct rkisp1_cif_isp_dpf_g_flt - Green filter Configuration @@ -578,7 +647,7 @@ struct rkisp1_cif_isp_dpf_g_flt { __u8 spatial_coeff[RKISP1_CIF_ISP_DPF_MAX_SPATIAL_COEFFS]; __u8 gr_enable; __u8 gb_enable; -} __packed; +}; /** * struct rkisp1_cif_isp_dpf_gain - Noise function Configuration @@ -597,7 +666,7 @@ struct rkisp1_cif_isp_dpf_gain { __u16 nf_b_gain; __u16 nf_gr_gain; __u16 nf_gb_gain; -} __packed; +}; /** * struct rkisp1_cif_isp_dpf_config - Configuration used by De-noising pre-filter @@ -612,7 +681,7 @@ struct rkisp1_cif_isp_dpf_config { struct rkisp1_cif_isp_dpf_g_flt g_flt; struct rkisp1_cif_isp_dpf_rb_flt rb_flt; struct rkisp1_cif_isp_dpf_nll nll; -} __packed; +}; /** * struct rkisp1_cif_isp_dpf_strength_config - strength of the filter @@ -625,7 +694,7 @@ struct rkisp1_cif_isp_dpf_strength_config { __u8 r; __u8 g; __u8 b; -} __packed; +}; /** * struct rkisp1_cif_isp_isp_other_cfg - Parameters for some blocks in rockchip isp1 @@ -659,7 +728,7 @@ struct rkisp1_cif_isp_isp_other_cfg { struct rkisp1_cif_isp_dpf_strength_config dpf_strength_config; struct rkisp1_cif_isp_cproc_config cproc_config; struct rkisp1_cif_isp_ie_config ie_config; -} __packed; +}; /** * struct rkisp1_cif_isp_isp_meas_cfg - Rockchip ISP1 Measure Parameters @@ -674,7 +743,7 @@ struct rkisp1_cif_isp_isp_meas_cfg { struct rkisp1_cif_isp_hst_config hst_config; struct rkisp1_cif_isp_aec_config aec_config; struct rkisp1_cif_isp_afc_config afc_config; -} __packed; +}; /** * struct rkisp1_params_cfg - Rockchip ISP1 Input Parameters Meta Data @@ -693,7 +762,7 @@ struct rkisp1_params_cfg { struct rkisp1_cif_isp_isp_meas_cfg meas; struct rkisp1_cif_isp_isp_other_cfg others; -} __packed; +}; /*---------- PART2: Measurement Statistics ------------*/ @@ -714,7 +783,7 @@ struct rkisp1_cif_isp_awb_meas { __u8 mean_y_or_g; __u8 mean_cb_or_b; __u8 mean_cr_or_r; -} __packed; +}; /** * struct rkisp1_cif_isp_awb_stat - statistics automatic white balance data @@ -723,7 +792,7 @@ struct rkisp1_cif_isp_awb_meas { */ struct rkisp1_cif_isp_awb_stat { struct rkisp1_cif_isp_awb_meas awb_mean[RKISP1_CIF_ISP_AWB_MAX_GRID]; -} __packed; +}; /** * struct rkisp1_cif_isp_bls_meas_val - BLS measured values @@ -738,7 +807,7 @@ struct rkisp1_cif_isp_bls_meas_val { __u16 meas_gr; __u16 meas_gb; __u16 meas_b; -} __packed; +}; /** * struct rkisp1_cif_isp_ae_stat - statistics auto exposure data @@ -751,18 +820,18 @@ struct rkisp1_cif_isp_bls_meas_val { struct rkisp1_cif_isp_ae_stat { __u8 exp_mean[RKISP1_CIF_ISP_AE_MEAN_MAX]; struct rkisp1_cif_isp_bls_meas_val bls_val; -} __packed; +}; /** * struct rkisp1_cif_isp_af_meas_val - AF measured values * - * @sum: sharpness, refer to REF_01 for definition - * @lum: luminance, refer to REF_01 for definition + * @sum: sharpness value + * @lum: luminance value */ struct rkisp1_cif_isp_af_meas_val { __u32 sum; __u32 lum; -} __packed; +}; /** * struct rkisp1_cif_isp_af_stat - statistics auto focus data @@ -774,7 +843,7 @@ struct rkisp1_cif_isp_af_meas_val { */ struct rkisp1_cif_isp_af_stat { struct rkisp1_cif_isp_af_meas_val window[RKISP1_CIF_ISP_AFM_MAX_WINDOWS]; -} __packed; +}; /** * struct rkisp1_cif_isp_hist_stat - statistics histogram data @@ -786,27 +855,27 @@ struct rkisp1_cif_isp_af_stat { */ struct rkisp1_cif_isp_hist_stat { __u16 hist_bins[RKISP1_CIF_ISP_HIST_BIN_N_MAX]; -} __packed; +}; /** - * struct rkisp1_stat_buffer - Rockchip ISP1 Statistics Data + * struct rkisp1_cif_isp_stat - Rockchip ISP1 Statistics Data * - * @rkisp1_cif_isp_awb_stat: statistics data for automatic white balance - * @rkisp1_cif_isp_ae_stat: statistics data for auto exposure - * @rkisp1_cif_isp_af_stat: statistics data for auto focus - * @rkisp1_cif_isp_hist_stat: statistics histogram data + * @awb: statistics data for automatic white balance + * @ae: statistics data for auto exposure + * @af: statistics data for auto focus + * @hist: statistics histogram data */ struct rkisp1_cif_isp_stat { struct rkisp1_cif_isp_awb_stat awb; struct rkisp1_cif_isp_ae_stat ae; struct rkisp1_cif_isp_af_stat af; struct rkisp1_cif_isp_hist_stat hist; -} __packed; +}; /** * struct rkisp1_stat_buffer - Rockchip ISP1 Statistics Meta Data * - * @meas_type: measurement types (RKISP1_CIF_ISP_STAT_ definitions) + * @meas_type: measurement types (RKISP1_CIF_ISP_STAT_* definitions) * @frame_id: frame ID for sync * @params: statistics data */ @@ -814,6 +883,6 @@ struct rkisp1_stat_buffer { __u32 meas_type; __u32 frame_id; struct rkisp1_cif_isp_stat params; -} __packed; +}; #endif /* _UAPI_RKISP1_CONFIG_H */ |