• Home
  • Raw
  • Download

Lines Matching refs:params

37 rkisp1_param_set_bits(struct rkisp1_params *params, u32 reg, u32 bit_mask)  in rkisp1_param_set_bits()  argument
41 val = rkisp1_read(params->rkisp1, reg); in rkisp1_param_set_bits()
42 rkisp1_write(params->rkisp1, reg, val | bit_mask); in rkisp1_param_set_bits()
46 rkisp1_param_clear_bits(struct rkisp1_params *params, u32 reg, u32 bit_mask) in rkisp1_param_clear_bits() argument
50 val = rkisp1_read(params->rkisp1, reg); in rkisp1_param_clear_bits()
51 rkisp1_write(params->rkisp1, reg, val & ~bit_mask); in rkisp1_param_clear_bits()
55 static void rkisp1_dpcc_config(struct rkisp1_params *params, in rkisp1_dpcc_config() argument
67 mode = rkisp1_read(params->rkisp1, RKISP1_CIF_ISP_DPCC_MODE); in rkisp1_dpcc_config()
70 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPCC_MODE, mode); in rkisp1_dpcc_config()
72 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPCC_OUTPUT_MODE, in rkisp1_dpcc_config()
74 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPCC_SET_USE, in rkisp1_dpcc_config()
78 rkisp1_write(params->rkisp1, RKISP1_ISP_DPCC_METHODS_SET(i), in rkisp1_dpcc_config()
81 rkisp1_write(params->rkisp1, RKISP1_ISP_DPCC_LINE_THRESH(i), in rkisp1_dpcc_config()
84 rkisp1_write(params->rkisp1, RKISP1_ISP_DPCC_LINE_MAD_FAC(i), in rkisp1_dpcc_config()
87 rkisp1_write(params->rkisp1, RKISP1_ISP_DPCC_PG_FAC(i), in rkisp1_dpcc_config()
90 rkisp1_write(params->rkisp1, RKISP1_ISP_DPCC_RND_THRESH(i), in rkisp1_dpcc_config()
93 rkisp1_write(params->rkisp1, RKISP1_ISP_DPCC_RG_FAC(i), in rkisp1_dpcc_config()
98 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPCC_RND_OFFS, in rkisp1_dpcc_config()
100 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPCC_RO_LIMITS, in rkisp1_dpcc_config()
105 static void rkisp1_bls_config(struct rkisp1_params *params, in rkisp1_bls_config() argument
111 new_control = rkisp1_read(params->rkisp1, RKISP1_CIF_ISP_BLS_CTRL); in rkisp1_bls_config()
118 switch (params->raw_type) { in rkisp1_bls_config()
120 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_D_FIXED, in rkisp1_bls_config()
122 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_C_FIXED, in rkisp1_bls_config()
124 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_B_FIXED, in rkisp1_bls_config()
126 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_A_FIXED, in rkisp1_bls_config()
130 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_C_FIXED, in rkisp1_bls_config()
132 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_D_FIXED, in rkisp1_bls_config()
134 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_A_FIXED, in rkisp1_bls_config()
136 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_B_FIXED, in rkisp1_bls_config()
140 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_B_FIXED, in rkisp1_bls_config()
142 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_A_FIXED, in rkisp1_bls_config()
144 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_D_FIXED, in rkisp1_bls_config()
146 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_C_FIXED, in rkisp1_bls_config()
150 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_A_FIXED, in rkisp1_bls_config()
152 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_B_FIXED, in rkisp1_bls_config()
154 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_C_FIXED, in rkisp1_bls_config()
156 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_D_FIXED, in rkisp1_bls_config()
165 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_H2_START, in rkisp1_bls_config()
167 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_H2_STOP, in rkisp1_bls_config()
169 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_V2_START, in rkisp1_bls_config()
171 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_V2_STOP, in rkisp1_bls_config()
177 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_H1_START, in rkisp1_bls_config()
179 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_H1_STOP, in rkisp1_bls_config()
181 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_V1_START, in rkisp1_bls_config()
183 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_V1_STOP, in rkisp1_bls_config()
188 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_SAMPLES, in rkisp1_bls_config()
193 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_CTRL, new_control); in rkisp1_bls_config()
198 rkisp1_lsc_matrix_config_v10(struct rkisp1_params *params, in rkisp1_lsc_matrix_config_v10() argument
201 struct rkisp1_device *rkisp1 = params->rkisp1; in rkisp1_lsc_matrix_config_v10()
258 rkisp1_lsc_matrix_config_v12(struct rkisp1_params *params, in rkisp1_lsc_matrix_config_v12() argument
261 struct rkisp1_device *rkisp1 = params->rkisp1; in rkisp1_lsc_matrix_config_v12()
317 static void rkisp1_lsc_config(struct rkisp1_params *params, in rkisp1_lsc_config() argument
320 struct rkisp1_device *rkisp1 = params->rkisp1; in rkisp1_lsc_config()
326 rkisp1_param_clear_bits(params, RKISP1_CIF_ISP_LSC_CTRL, in rkisp1_lsc_config()
328 params->ops->lsc_matrix_config(params, arg); in rkisp1_lsc_config()
354 rkisp1_param_set_bits(params, RKISP1_CIF_ISP_LSC_CTRL, in rkisp1_lsc_config()
357 rkisp1_param_clear_bits(params, RKISP1_CIF_ISP_LSC_CTRL, in rkisp1_lsc_config()
362 static void rkisp1_flt_config(struct rkisp1_params *params, in rkisp1_flt_config() argument
367 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_FILT_THRESH_BL0, in rkisp1_flt_config()
369 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_FILT_THRESH_BL1, in rkisp1_flt_config()
371 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_FILT_THRESH_SH0, in rkisp1_flt_config()
373 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_FILT_THRESH_SH1, in rkisp1_flt_config()
375 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_FILT_FAC_BL0, in rkisp1_flt_config()
377 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_FILT_FAC_BL1, in rkisp1_flt_config()
379 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_FILT_FAC_MID, in rkisp1_flt_config()
381 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_FILT_FAC_SH0, in rkisp1_flt_config()
383 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_FILT_FAC_SH1, in rkisp1_flt_config()
385 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_FILT_LUM_WEIGHT, in rkisp1_flt_config()
388 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_FILT_MODE, in rkisp1_flt_config()
395 filt_mode = rkisp1_read(params->rkisp1, RKISP1_CIF_ISP_FILT_MODE); in rkisp1_flt_config()
402 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_FILT_MODE, filt_mode); in rkisp1_flt_config()
406 static int rkisp1_bdm_config(struct rkisp1_params *params, in rkisp1_bdm_config() argument
412 bdm_th = rkisp1_read(params->rkisp1, RKISP1_CIF_ISP_DEMOSAIC); in rkisp1_bdm_config()
416 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DEMOSAIC, bdm_th); in rkisp1_bdm_config()
421 static void rkisp1_sdg_config(struct rkisp1_params *params, in rkisp1_sdg_config() argument
426 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_GAMMA_DX_LO, in rkisp1_sdg_config()
428 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_GAMMA_DX_HI, in rkisp1_sdg_config()
432 rkisp1_write(params->rkisp1, in rkisp1_sdg_config()
435 rkisp1_write(params->rkisp1, in rkisp1_sdg_config()
438 rkisp1_write(params->rkisp1, in rkisp1_sdg_config()
445 static void rkisp1_goc_config_v10(struct rkisp1_params *params, in rkisp1_goc_config_v10() argument
450 rkisp1_param_clear_bits(params, RKISP1_CIF_ISP_CTRL, in rkisp1_goc_config_v10()
452 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_GAMMA_OUT_MODE_V10, in rkisp1_goc_config_v10()
456 rkisp1_write(params->rkisp1, in rkisp1_goc_config_v10()
461 static void rkisp1_goc_config_v12(struct rkisp1_params *params, in rkisp1_goc_config_v12() argument
467 rkisp1_param_clear_bits(params, RKISP1_CIF_ISP_CTRL, in rkisp1_goc_config_v12()
469 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_GAMMA_OUT_MODE_V12, in rkisp1_goc_config_v12()
476 rkisp1_write(params->rkisp1, in rkisp1_goc_config_v12()
482 static void rkisp1_ctk_config(struct rkisp1_params *params, in rkisp1_ctk_config() argument
489 rkisp1_write(params->rkisp1, in rkisp1_ctk_config()
493 rkisp1_write(params->rkisp1, in rkisp1_ctk_config()
498 static void rkisp1_ctk_enable(struct rkisp1_params *params, bool en) in rkisp1_ctk_enable() argument
504 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_CT_COEFF_0, 0x80); in rkisp1_ctk_enable()
505 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_CT_COEFF_1, 0); in rkisp1_ctk_enable()
506 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_CT_COEFF_2, 0); in rkisp1_ctk_enable()
507 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_CT_COEFF_3, 0); in rkisp1_ctk_enable()
508 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_CT_COEFF_4, 0x80); in rkisp1_ctk_enable()
509 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_CT_COEFF_5, 0); in rkisp1_ctk_enable()
510 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_CT_COEFF_6, 0); in rkisp1_ctk_enable()
511 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_CT_COEFF_7, 0); in rkisp1_ctk_enable()
512 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_CT_COEFF_8, 0x80); in rkisp1_ctk_enable()
514 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_CT_OFFSET_R, 0); in rkisp1_ctk_enable()
515 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_CT_OFFSET_G, 0); in rkisp1_ctk_enable()
516 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_CT_OFFSET_B, 0); in rkisp1_ctk_enable()
520 static void rkisp1_awb_meas_config_v10(struct rkisp1_params *params, in rkisp1_awb_meas_config_v10() argument
527 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_REF_V10, in rkisp1_awb_meas_config_v10()
531 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_THRESH_V10, in rkisp1_awb_meas_config_v10()
538 reg_val = rkisp1_read(params->rkisp1, RKISP1_CIF_ISP_AWB_PROP_V10); in rkisp1_awb_meas_config_v10()
543 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_PROP_V10, reg_val); in rkisp1_awb_meas_config_v10()
546 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_WND_V_OFFS_V10, in rkisp1_awb_meas_config_v10()
548 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_WND_H_OFFS_V10, in rkisp1_awb_meas_config_v10()
551 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_WND_V_SIZE_V10, in rkisp1_awb_meas_config_v10()
553 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_WND_H_SIZE_V10, in rkisp1_awb_meas_config_v10()
556 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_FRAMES_V10, in rkisp1_awb_meas_config_v10()
560 static void rkisp1_awb_meas_config_v12(struct rkisp1_params *params, in rkisp1_awb_meas_config_v12() argument
567 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_REF_V12, in rkisp1_awb_meas_config_v12()
571 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_THRESH_V12, in rkisp1_awb_meas_config_v12()
578 reg_val = rkisp1_read(params->rkisp1, RKISP1_CIF_ISP_AWB_PROP_V12); in rkisp1_awb_meas_config_v12()
585 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_PROP_V12, reg_val); in rkisp1_awb_meas_config_v12()
588 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_OFFS_V12, in rkisp1_awb_meas_config_v12()
591 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_SIZE_V12, in rkisp1_awb_meas_config_v12()
596 rkisp1_awb_meas_enable_v10(struct rkisp1_params *params, in rkisp1_awb_meas_enable_v10() argument
600 u32 reg_val = rkisp1_read(params->rkisp1, RKISP1_CIF_ISP_AWB_PROP_V10); in rkisp1_awb_meas_enable_v10()
611 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_PROP_V10, in rkisp1_awb_meas_enable_v10()
615 rkisp1_param_set_bits(params, RKISP1_CIF_ISP_CTRL, in rkisp1_awb_meas_enable_v10()
618 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_PROP_V10, in rkisp1_awb_meas_enable_v10()
620 rkisp1_param_clear_bits(params, RKISP1_CIF_ISP_CTRL, in rkisp1_awb_meas_enable_v10()
626 rkisp1_awb_meas_enable_v12(struct rkisp1_params *params, in rkisp1_awb_meas_enable_v12() argument
630 u32 reg_val = rkisp1_read(params->rkisp1, RKISP1_CIF_ISP_AWB_PROP_V12); in rkisp1_awb_meas_enable_v12()
641 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_PROP_V12, in rkisp1_awb_meas_enable_v12()
645 rkisp1_param_set_bits(params, RKISP1_CIF_ISP_CTRL, in rkisp1_awb_meas_enable_v12()
648 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_PROP_V12, in rkisp1_awb_meas_enable_v12()
650 rkisp1_param_clear_bits(params, RKISP1_CIF_ISP_CTRL, in rkisp1_awb_meas_enable_v12()
656 rkisp1_awb_gain_config_v10(struct rkisp1_params *params, in rkisp1_awb_gain_config_v10() argument
659 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_GAIN_G_V10, in rkisp1_awb_gain_config_v10()
663 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_GAIN_RB_V10, in rkisp1_awb_gain_config_v10()
669 rkisp1_awb_gain_config_v12(struct rkisp1_params *params, in rkisp1_awb_gain_config_v12() argument
672 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_GAIN_G_V12, in rkisp1_awb_gain_config_v12()
676 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_GAIN_RB_V12, in rkisp1_awb_gain_config_v12()
681 static void rkisp1_aec_config_v10(struct rkisp1_params *params, in rkisp1_aec_config_v10() argument
688 exp_ctrl = rkisp1_read(params->rkisp1, RKISP1_CIF_ISP_EXP_CTRL); in rkisp1_aec_config_v10()
694 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_EXP_CTRL, exp_ctrl); in rkisp1_aec_config_v10()
696 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_EXP_H_OFFSET_V10, in rkisp1_aec_config_v10()
698 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_EXP_V_OFFSET_V10, in rkisp1_aec_config_v10()
706 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_EXP_H_SIZE_V10, in rkisp1_aec_config_v10()
708 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_EXP_V_SIZE_V10, in rkisp1_aec_config_v10()
712 static void rkisp1_aec_config_v12(struct rkisp1_params *params, in rkisp1_aec_config_v12() argument
721 exp_ctrl = rkisp1_read(params->rkisp1, RKISP1_CIF_ISP_EXP_CTRL); in rkisp1_aec_config_v12()
728 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_EXP_CTRL, exp_ctrl); in rkisp1_aec_config_v12()
730 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_EXP_OFFS_V12, in rkisp1_aec_config_v12()
737 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_EXP_SIZE_V12, in rkisp1_aec_config_v12()
742 static void rkisp1_cproc_config(struct rkisp1_params *params, in rkisp1_cproc_config() argument
750 u32 quantization = params->quantization; in rkisp1_cproc_config()
752 rkisp1_write(params->rkisp1, RKISP1_CIF_C_PROC_CONTRAST, in rkisp1_cproc_config()
754 rkisp1_write(params->rkisp1, RKISP1_CIF_C_PROC_HUE, arg->hue); in rkisp1_cproc_config()
755 rkisp1_write(params->rkisp1, RKISP1_CIF_C_PROC_SATURATION, arg->sat); in rkisp1_cproc_config()
756 rkisp1_write(params->rkisp1, RKISP1_CIF_C_PROC_BRIGHTNESS, in rkisp1_cproc_config()
761 rkisp1_param_clear_bits(params, RKISP1_CIF_C_PROC_CTRL, in rkisp1_cproc_config()
766 rkisp1_param_set_bits(params, RKISP1_CIF_C_PROC_CTRL, in rkisp1_cproc_config()
773 static void rkisp1_hst_config_v10(struct rkisp1_params *params, in rkisp1_hst_config_v10() argument
790 hist_prop = rkisp1_read(params->rkisp1, RKISP1_CIF_ISP_HIST_PROP_V10); in rkisp1_hst_config_v10()
793 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_HIST_PROP_V10, hist_prop); in rkisp1_hst_config_v10()
794 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_HIST_H_OFFS_V10, in rkisp1_hst_config_v10()
796 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_HIST_V_OFFS_V10, in rkisp1_hst_config_v10()
803 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_HIST_H_SIZE_V10, in rkisp1_hst_config_v10()
805 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_HIST_V_SIZE_V10, in rkisp1_hst_config_v10()
810 rkisp1_write(params->rkisp1, hist_weight_regs[i], in rkisp1_hst_config_v10()
814 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_HIST_WEIGHT_44_V10, in rkisp1_hst_config_v10()
818 static void rkisp1_hst_config_v12(struct rkisp1_params *params, in rkisp1_hst_config_v12() argument
831 hist_ctrl = rkisp1_read(params->rkisp1, RKISP1_CIF_ISP_HIST_CTRL_V12); in rkisp1_hst_config_v12()
841 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_HIST_CTRL_V12, hist_ctrl); in rkisp1_hst_config_v12()
843 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_HIST_OFFS_V12, in rkisp1_hst_config_v12()
849 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_HIST_SIZE_V12, in rkisp1_hst_config_v12()
866 rkisp1_write(params->rkisp1, in rkisp1_hst_config_v12()
870 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_HIST_WEIGHT_V12 + 4 * i, in rkisp1_hst_config_v12()
875 rkisp1_hst_enable_v10(struct rkisp1_params *params, in rkisp1_hst_enable_v10() argument
879 u32 hist_prop = rkisp1_read(params->rkisp1, in rkisp1_hst_enable_v10()
884 rkisp1_param_set_bits(params, RKISP1_CIF_ISP_HIST_PROP_V10, in rkisp1_hst_enable_v10()
887 rkisp1_param_clear_bits(params, RKISP1_CIF_ISP_HIST_PROP_V10, in rkisp1_hst_enable_v10()
893 rkisp1_hst_enable_v12(struct rkisp1_params *params, in rkisp1_hst_enable_v12() argument
897 u32 hist_ctrl = rkisp1_read(params->rkisp1, in rkisp1_hst_enable_v12()
903 rkisp1_param_set_bits(params, RKISP1_CIF_ISP_HIST_CTRL_V12, in rkisp1_hst_enable_v12()
906 rkisp1_param_clear_bits(params, RKISP1_CIF_ISP_HIST_CTRL_V12, in rkisp1_hst_enable_v12()
912 static void rkisp1_afm_config_v10(struct rkisp1_params *params, in rkisp1_afm_config_v10() argument
917 u32 afm_ctrl = rkisp1_read(params->rkisp1, RKISP1_CIF_ISP_AFM_CTRL); in rkisp1_afm_config_v10()
921 rkisp1_param_clear_bits(params, RKISP1_CIF_ISP_AFM_CTRL, in rkisp1_afm_config_v10()
925 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AFM_LT_A + i * 8, in rkisp1_afm_config_v10()
928 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AFM_RB_A + i * 8, in rkisp1_afm_config_v10()
934 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AFM_THRES, arg->thres); in rkisp1_afm_config_v10()
935 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AFM_VAR_SHIFT, in rkisp1_afm_config_v10()
938 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AFM_CTRL, afm_ctrl); in rkisp1_afm_config_v10()
941 static void rkisp1_afm_config_v12(struct rkisp1_params *params, in rkisp1_afm_config_v12() argument
946 u32 afm_ctrl = rkisp1_read(params->rkisp1, RKISP1_CIF_ISP_AFM_CTRL); in rkisp1_afm_config_v12()
951 rkisp1_param_clear_bits(params, RKISP1_CIF_ISP_AFM_CTRL, in rkisp1_afm_config_v12()
955 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AFM_LT_A + i * 8, in rkisp1_afm_config_v12()
958 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AFM_RB_A + i * 8, in rkisp1_afm_config_v12()
964 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AFM_THRES, arg->thres); in rkisp1_afm_config_v12()
968 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AFM_VAR_SHIFT, in rkisp1_afm_config_v12()
974 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AFM_CTRL, afm_ctrl); in rkisp1_afm_config_v12()
977 static void rkisp1_ie_config(struct rkisp1_params *params, in rkisp1_ie_config() argument
982 eff_ctrl = rkisp1_read(params->rkisp1, RKISP1_CIF_IMG_EFF_CTRL); in rkisp1_ie_config()
985 if (params->quantization == V4L2_QUANTIZATION_FULL_RANGE) in rkisp1_ie_config()
993 rkisp1_write(params->rkisp1, RKISP1_CIF_IMG_EFF_TINT, in rkisp1_ie_config()
1003 rkisp1_write(params->rkisp1, RKISP1_CIF_IMG_EFF_COLOR_SEL, in rkisp1_ie_config()
1008 rkisp1_write(params->rkisp1, RKISP1_CIF_IMG_EFF_MAT_1, in rkisp1_ie_config()
1010 rkisp1_write(params->rkisp1, RKISP1_CIF_IMG_EFF_MAT_2, in rkisp1_ie_config()
1012 rkisp1_write(params->rkisp1, RKISP1_CIF_IMG_EFF_MAT_3, in rkisp1_ie_config()
1017 rkisp1_write(params->rkisp1, RKISP1_CIF_IMG_EFF_MAT_3, in rkisp1_ie_config()
1019 rkisp1_write(params->rkisp1, RKISP1_CIF_IMG_EFF_MAT_4, in rkisp1_ie_config()
1021 rkisp1_write(params->rkisp1, RKISP1_CIF_IMG_EFF_MAT_5, in rkisp1_ie_config()
1034 rkisp1_write(params->rkisp1, RKISP1_CIF_IMG_EFF_CTRL, eff_ctrl); in rkisp1_ie_config()
1037 static void rkisp1_ie_enable(struct rkisp1_params *params, bool en) in rkisp1_ie_enable() argument
1040 rkisp1_param_set_bits(params, RKISP1_CIF_VI_ICCL, in rkisp1_ie_enable()
1042 rkisp1_write(params->rkisp1, RKISP1_CIF_IMG_EFF_CTRL, in rkisp1_ie_enable()
1044 rkisp1_param_set_bits(params, RKISP1_CIF_IMG_EFF_CTRL, in rkisp1_ie_enable()
1047 rkisp1_param_clear_bits(params, RKISP1_CIF_IMG_EFF_CTRL, in rkisp1_ie_enable()
1049 rkisp1_param_clear_bits(params, RKISP1_CIF_VI_ICCL, in rkisp1_ie_enable()
1054 static void rkisp1_csm_config(struct rkisp1_params *params) in rkisp1_csm_config() argument
1113 switch (params->ycbcr_encoding) { in rkisp1_csm_config()
1129 if (params->quantization == V4L2_QUANTIZATION_FULL_RANGE) { in rkisp1_csm_config()
1131 rkisp1_param_set_bits(params, RKISP1_CIF_ISP_CTRL, in rkisp1_csm_config()
1136 rkisp1_param_clear_bits(params, RKISP1_CIF_ISP_CTRL, in rkisp1_csm_config()
1142 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_CC_COEFF_0 + i * 4, in rkisp1_csm_config()
1147 static void rkisp1_dpf_config(struct rkisp1_params *params, in rkisp1_dpf_config() argument
1191 rkisp1_param_set_bits(params, RKISP1_CIF_ISP_DPF_MODE, in rkisp1_dpf_config()
1193 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPF_NF_GAIN_B, in rkisp1_dpf_config()
1195 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPF_NF_GAIN_R, in rkisp1_dpf_config()
1197 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPF_NF_GAIN_GB, in rkisp1_dpf_config()
1199 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPF_NF_GAIN_GR, in rkisp1_dpf_config()
1203 rkisp1_write(params->rkisp1, in rkisp1_dpf_config()
1212 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPF_S_WEIGHT_G_1_4, in rkisp1_dpf_config()
1217 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPF_S_WEIGHT_G_5_6, in rkisp1_dpf_config()
1224 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPF_S_WEIGHT_RB_1_4, in rkisp1_dpf_config()
1229 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPF_S_WEIGHT_RB_5_6, in rkisp1_dpf_config()
1234 rkisp1_dpf_strength_config(struct rkisp1_params *params, in rkisp1_dpf_strength_config() argument
1237 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPF_STRENGTH_B, arg->b); in rkisp1_dpf_strength_config()
1238 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPF_STRENGTH_G, arg->g); in rkisp1_dpf_strength_config()
1239 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPF_STRENGTH_R, arg->r); in rkisp1_dpf_strength_config()
1243 rkisp1_isp_isr_other_config(struct rkisp1_params *params, in rkisp1_isp_isr_other_config() argument
1254 rkisp1_dpcc_config(params, in rkisp1_isp_isr_other_config()
1259 rkisp1_param_set_bits(params, in rkisp1_isp_isr_other_config()
1263 rkisp1_param_clear_bits(params, in rkisp1_isp_isr_other_config()
1270 rkisp1_bls_config(params, in rkisp1_isp_isr_other_config()
1275 rkisp1_param_set_bits(params, in rkisp1_isp_isr_other_config()
1279 rkisp1_param_clear_bits(params, in rkisp1_isp_isr_other_config()
1286 rkisp1_sdg_config(params, in rkisp1_isp_isr_other_config()
1291 rkisp1_param_set_bits(params, in rkisp1_isp_isr_other_config()
1295 rkisp1_param_clear_bits(params, in rkisp1_isp_isr_other_config()
1302 params->ops->awb_gain_config(params, &new_params->others.awb_gain_config); in rkisp1_isp_isr_other_config()
1306 rkisp1_param_set_bits(params, in rkisp1_isp_isr_other_config()
1310 rkisp1_param_clear_bits(params, in rkisp1_isp_isr_other_config()
1317 rkisp1_bdm_config(params, in rkisp1_isp_isr_other_config()
1322 rkisp1_param_set_bits(params, in rkisp1_isp_isr_other_config()
1326 rkisp1_param_clear_bits(params, in rkisp1_isp_isr_other_config()
1333 rkisp1_flt_config(params, in rkisp1_isp_isr_other_config()
1338 rkisp1_param_set_bits(params, in rkisp1_isp_isr_other_config()
1342 rkisp1_param_clear_bits(params, in rkisp1_isp_isr_other_config()
1349 rkisp1_ctk_config(params, in rkisp1_isp_isr_other_config()
1353 rkisp1_ctk_enable(params, !!(module_ens & RKISP1_CIF_ISP_MODULE_CTK)); in rkisp1_isp_isr_other_config()
1357 params->ops->goc_config(params, &new_params->others.goc_config); in rkisp1_isp_isr_other_config()
1361 rkisp1_param_set_bits(params, in rkisp1_isp_isr_other_config()
1365 rkisp1_param_clear_bits(params, in rkisp1_isp_isr_other_config()
1372 rkisp1_cproc_config(params, in rkisp1_isp_isr_other_config()
1377 rkisp1_param_set_bits(params, in rkisp1_isp_isr_other_config()
1381 rkisp1_param_clear_bits(params, in rkisp1_isp_isr_other_config()
1388 rkisp1_ie_config(params, &new_params->others.ie_config); in rkisp1_isp_isr_other_config()
1391 rkisp1_ie_enable(params, !!(module_ens & RKISP1_CIF_ISP_MODULE_IE)); in rkisp1_isp_isr_other_config()
1395 rkisp1_dpf_config(params, &new_params->others.dpf_config); in rkisp1_isp_isr_other_config()
1399 rkisp1_param_set_bits(params, in rkisp1_isp_isr_other_config()
1403 rkisp1_param_clear_bits(params, in rkisp1_isp_isr_other_config()
1411 rkisp1_dpf_strength_config(params, in rkisp1_isp_isr_other_config()
1417 rkisp1_isp_isr_lsc_config(struct rkisp1_params *params, in rkisp1_isp_isr_lsc_config() argument
1428 rkisp1_lsc_config(params, in rkisp1_isp_isr_lsc_config()
1433 rkisp1_param_set_bits(params, in rkisp1_isp_isr_lsc_config()
1437 rkisp1_param_clear_bits(params, in rkisp1_isp_isr_lsc_config()
1443 static void rkisp1_isp_isr_meas_config(struct rkisp1_params *params, in rkisp1_isp_isr_meas_config() argument
1454 params->ops->awb_meas_config(params, &new_params->meas.awb_meas_config); in rkisp1_isp_isr_meas_config()
1457 params->ops->awb_meas_enable(params, in rkisp1_isp_isr_meas_config()
1463 params->ops->afm_config(params, in rkisp1_isp_isr_meas_config()
1468 rkisp1_param_set_bits(params, in rkisp1_isp_isr_meas_config()
1472 rkisp1_param_clear_bits(params, in rkisp1_isp_isr_meas_config()
1479 params->ops->hst_config(params, in rkisp1_isp_isr_meas_config()
1483 params->ops->hst_enable(params, in rkisp1_isp_isr_meas_config()
1489 params->ops->aec_config(params, in rkisp1_isp_isr_meas_config()
1494 rkisp1_param_set_bits(params, in rkisp1_isp_isr_meas_config()
1498 rkisp1_param_clear_bits(params, in rkisp1_isp_isr_meas_config()
1504 static bool rkisp1_params_get_buffer(struct rkisp1_params *params, in rkisp1_params_get_buffer() argument
1508 if (list_empty(&params->params)) in rkisp1_params_get_buffer()
1511 *buf = list_first_entry(&params->params, struct rkisp1_buffer, queue); in rkisp1_params_get_buffer()
1517 static void rkisp1_params_complete_buffer(struct rkisp1_params *params, in rkisp1_params_complete_buffer() argument
1529 struct rkisp1_params *params = &rkisp1->params; in rkisp1_params_isr() local
1533 spin_lock(&params->config_lock); in rkisp1_params_isr()
1535 if (!rkisp1_params_get_buffer(params, &cur_buf, &new_params)) in rkisp1_params_isr()
1538 rkisp1_isp_isr_other_config(params, new_params); in rkisp1_params_isr()
1539 rkisp1_isp_isr_lsc_config(params, new_params); in rkisp1_params_isr()
1540 rkisp1_isp_isr_meas_config(params, new_params); in rkisp1_params_isr()
1543 rkisp1_param_set_bits(params, RKISP1_CIF_ISP_CTRL, in rkisp1_params_isr()
1554 rkisp1_params_complete_buffer(params, cur_buf, in rkisp1_params_isr()
1558 spin_unlock(&params->config_lock); in rkisp1_params_isr()
1600 void rkisp1_params_pre_configure(struct rkisp1_params *params, in rkisp1_params_pre_configure() argument
1609 params->quantization = quantization; in rkisp1_params_pre_configure()
1610 params->ycbcr_encoding = ycbcr_encoding; in rkisp1_params_pre_configure()
1611 params->raw_type = bayer_pat; in rkisp1_params_pre_configure()
1613 params->ops->awb_meas_config(params, &rkisp1_awb_params_default_config); in rkisp1_params_pre_configure()
1614 params->ops->awb_meas_enable(params, &rkisp1_awb_params_default_config, in rkisp1_params_pre_configure()
1617 params->ops->aec_config(params, &rkisp1_aec_params_default_config); in rkisp1_params_pre_configure()
1618 rkisp1_param_set_bits(params, RKISP1_CIF_ISP_EXP_CTRL, in rkisp1_params_pre_configure()
1621 params->ops->afm_config(params, &rkisp1_afc_params_default_config); in rkisp1_params_pre_configure()
1622 rkisp1_param_set_bits(params, RKISP1_CIF_ISP_AFM_CTRL, in rkisp1_params_pre_configure()
1626 params->ops->hst_config(params, &hst); in rkisp1_params_pre_configure()
1627 rkisp1_param_set_bits(params, RKISP1_CIF_ISP_HIST_PROP_V10, in rkisp1_params_pre_configure()
1630 rkisp1_csm_config(params); in rkisp1_params_pre_configure()
1632 spin_lock_irq(&params->config_lock); in rkisp1_params_pre_configure()
1636 if (!rkisp1_params_get_buffer(params, &cur_buf, &new_params)) in rkisp1_params_pre_configure()
1639 rkisp1_isp_isr_other_config(params, new_params); in rkisp1_params_pre_configure()
1640 rkisp1_isp_isr_meas_config(params, new_params); in rkisp1_params_pre_configure()
1643 rkisp1_param_set_bits(params, RKISP1_CIF_ISP_CTRL, in rkisp1_params_pre_configure()
1647 spin_unlock_irq(&params->config_lock); in rkisp1_params_pre_configure()
1650 void rkisp1_params_post_configure(struct rkisp1_params *params) in rkisp1_params_post_configure() argument
1655 spin_lock_irq(&params->config_lock); in rkisp1_params_post_configure()
1666 if (!rkisp1_params_get_buffer(params, &cur_buf, &new_params)) in rkisp1_params_post_configure()
1669 rkisp1_isp_isr_lsc_config(params, new_params); in rkisp1_params_post_configure()
1672 rkisp1_param_set_bits(params, RKISP1_CIF_ISP_CTRL, in rkisp1_params_post_configure()
1675 rkisp1_params_complete_buffer(params, cur_buf, 0); in rkisp1_params_post_configure()
1678 spin_unlock_irq(&params->config_lock); in rkisp1_params_post_configure()
1685 void rkisp1_params_disable(struct rkisp1_params *params) in rkisp1_params_disable() argument
1687 rkisp1_param_clear_bits(params, RKISP1_CIF_ISP_DPCC_MODE, in rkisp1_params_disable()
1689 rkisp1_param_clear_bits(params, RKISP1_CIF_ISP_LSC_CTRL, in rkisp1_params_disable()
1691 rkisp1_param_clear_bits(params, RKISP1_CIF_ISP_BLS_CTRL, in rkisp1_params_disable()
1693 rkisp1_param_clear_bits(params, RKISP1_CIF_ISP_CTRL, in rkisp1_params_disable()
1695 rkisp1_param_clear_bits(params, RKISP1_CIF_ISP_CTRL, in rkisp1_params_disable()
1697 rkisp1_param_clear_bits(params, RKISP1_CIF_ISP_DEMOSAIC, in rkisp1_params_disable()
1699 rkisp1_param_clear_bits(params, RKISP1_CIF_ISP_FILT_MODE, in rkisp1_params_disable()
1701 params->ops->awb_meas_enable(params, NULL, false); in rkisp1_params_disable()
1702 rkisp1_param_clear_bits(params, RKISP1_CIF_ISP_CTRL, in rkisp1_params_disable()
1704 rkisp1_param_clear_bits(params, RKISP1_CIF_ISP_EXP_CTRL, in rkisp1_params_disable()
1706 rkisp1_ctk_enable(params, false); in rkisp1_params_disable()
1707 rkisp1_param_clear_bits(params, RKISP1_CIF_C_PROC_CTRL, in rkisp1_params_disable()
1709 params->ops->hst_enable(params, NULL, false); in rkisp1_params_disable()
1710 rkisp1_param_clear_bits(params, RKISP1_CIF_ISP_AFM_CTRL, in rkisp1_params_disable()
1712 rkisp1_ie_enable(params, false); in rkisp1_params_disable()
1713 rkisp1_param_clear_bits(params, RKISP1_CIF_ISP_DPF_MODE, in rkisp1_params_disable()
1745 struct rkisp1_params *params = video_get_drvdata(video); in rkisp1_params_enum_fmt_meta_out() local
1750 f->pixelformat = params->vdev_fmt.fmt.meta.dataformat; in rkisp1_params_enum_fmt_meta_out()
1759 struct rkisp1_params *params = video_get_drvdata(video); in rkisp1_params_g_fmt_meta_out() local
1766 meta->dataformat = params->vdev_fmt.fmt.meta.dataformat; in rkisp1_params_g_fmt_meta_out()
1767 meta->buffersize = params->vdev_fmt.fmt.meta.buffersize; in rkisp1_params_g_fmt_meta_out()
1827 struct rkisp1_params *params = vq->drv_priv; in rkisp1_params_vb2_buf_queue() local
1829 spin_lock_irq(&params->config_lock); in rkisp1_params_vb2_buf_queue()
1830 list_add_tail(&params_buf->queue, &params->params); in rkisp1_params_vb2_buf_queue()
1831 spin_unlock_irq(&params->config_lock); in rkisp1_params_vb2_buf_queue()
1846 struct rkisp1_params *params = vq->drv_priv; in rkisp1_params_vb2_stop_streaming() local
1855 spin_lock_irq(&params->config_lock); in rkisp1_params_vb2_stop_streaming()
1856 list_splice_init(&params->params, &tmp_list); in rkisp1_params_vb2_stop_streaming()
1857 spin_unlock_irq(&params->config_lock); in rkisp1_params_vb2_stop_streaming()
1882 struct rkisp1_params *params) in rkisp1_params_init_vb2_queue() argument
1890 q->drv_priv = params; in rkisp1_params_init_vb2_queue()
1900 static void rkisp1_init_params(struct rkisp1_params *params) in rkisp1_init_params() argument
1902 params->vdev_fmt.fmt.meta.dataformat = in rkisp1_init_params()
1904 params->vdev_fmt.fmt.meta.buffersize = in rkisp1_init_params()
1907 if (params->rkisp1->info->isp_ver == RKISP1_V12) in rkisp1_init_params()
1908 params->ops = &rkisp1_v12_params_ops; in rkisp1_init_params()
1910 params->ops = &rkisp1_v10_params_ops; in rkisp1_init_params()
1915 struct rkisp1_params *params = &rkisp1->params; in rkisp1_params_register() local
1916 struct rkisp1_vdev_node *node = &params->vnode; in rkisp1_params_register()
1920 params->rkisp1 = rkisp1; in rkisp1_params_register()
1922 INIT_LIST_HEAD(&params->params); in rkisp1_params_register()
1923 spin_lock_init(&params->config_lock); in rkisp1_params_register()
1927 video_set_drvdata(vdev, params); in rkisp1_params_register()
1940 rkisp1_params_init_vb2_queue(vdev->queue, params); in rkisp1_params_register()
1941 rkisp1_init_params(params); in rkisp1_params_register()
1942 video_set_drvdata(vdev, params); in rkisp1_params_register()
1966 struct rkisp1_params *params = &rkisp1->params; in rkisp1_params_unregister() local
1967 struct rkisp1_vdev_node *node = &params->vnode; in rkisp1_params_unregister()