• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd. */
3 
4 #ifndef _RKISP_ISP_STATS_V2X_H
5 #define _RKISP_ISP_STATS_V2X_H
6 
7 #include <linux/rkisp1-config.h>
8 #include <linux/interrupt.h>
9 #include <linux/kfifo.h>
10 #include "common.h"
11 
12 // #define RKISP_RD_STATS_FROM_DDR
13 #define RKISP_RD_STATS_BUF_SIZE		0x35000
14 
15 struct rkisp_isp_stats_vdev;
16 struct rkisp_stats_v2x_ops {
17 	void (*get_siawb_meas)(struct rkisp_isp_stats_vdev *stats_vdev,
18 			       struct rkisp_isp2x_stat_buffer *pbuf);
19 	void (*get_rawawb_meas)(struct rkisp_isp_stats_vdev *stats_vdev,
20 				struct rkisp_isp2x_stat_buffer *pbuf);
21 
22 	void (*get_siaf_meas)(struct rkisp_isp_stats_vdev *stats_vdev,
23 			      struct rkisp_isp2x_stat_buffer *pbuf);
24 	void (*get_rawaf_meas)(struct rkisp_isp_stats_vdev *stats_vdev,
25 			       struct rkisp_isp2x_stat_buffer *pbuf);
26 
27 	void (*get_yuvae_meas)(struct rkisp_isp_stats_vdev *stats_vdev,
28 			       struct rkisp_isp2x_stat_buffer *pbuf);
29 	void (*get_sihst_meas)(struct rkisp_isp_stats_vdev *stats_vdev,
30 			       struct rkisp_isp2x_stat_buffer *pbuf);
31 
32 	void (*get_rawae0_meas)(struct rkisp_isp_stats_vdev *stats_vdev,
33 				struct rkisp_isp2x_stat_buffer *pbuf);
34 	void (*get_rawhst0_meas)(struct rkisp_isp_stats_vdev *stats_vdev,
35 				 struct rkisp_isp2x_stat_buffer *pbuf);
36 
37 	void (*get_rawae1_meas)(struct rkisp_isp_stats_vdev *stats_vdev,
38 				struct rkisp_isp2x_stat_buffer *pbuf);
39 	void (*get_rawhst1_meas)(struct rkisp_isp_stats_vdev *stats_vdev,
40 				 struct rkisp_isp2x_stat_buffer *pbuf);
41 
42 	void (*get_rawae2_meas)(struct rkisp_isp_stats_vdev *stats_vdev,
43 				struct rkisp_isp2x_stat_buffer *pbuf);
44 	void (*get_rawhst2_meas)(struct rkisp_isp_stats_vdev *stats_vdev,
45 				 struct rkisp_isp2x_stat_buffer *pbuf);
46 
47 	void (*get_rawae3_meas)(struct rkisp_isp_stats_vdev *stats_vdev,
48 				struct rkisp_isp2x_stat_buffer *pbuf);
49 	void (*get_rawhst3_meas)(struct rkisp_isp_stats_vdev *stats_vdev,
50 				 struct rkisp_isp2x_stat_buffer *pbuf);
51 
52 	void (*get_bls_stats)(struct rkisp_isp_stats_vdev *stats_vdev,
53 			      struct rkisp_isp2x_stat_buffer *pbuf);
54 	void (*get_tmo_stats)(struct rkisp_isp_stats_vdev *stats_vdev,
55 			      struct rkisp_isp2x_stat_buffer *pbuf);
56 	void (*get_dhaz_stats)(struct rkisp_isp_stats_vdev *stats_vdev,
57 			       struct rkisp_isp2x_stat_buffer *pbuf);
58 };
59 
60 #if IS_ENABLED(CONFIG_VIDEO_ROCKCHIP_ISP_VERSION_V20)
61 void rkisp_stats_first_ddr_config_v2x(struct rkisp_isp_stats_vdev *stats_vdev);
62 void rkisp_init_stats_vdev_v2x(struct rkisp_isp_stats_vdev *stats_vdev);
63 void rkisp_uninit_stats_vdev_v2x(struct rkisp_isp_stats_vdev *stats_vdev);
64 #else
rkisp_stats_first_ddr_config_v2x(struct rkisp_isp_stats_vdev * stats_vdev)65 static inline void rkisp_stats_first_ddr_config_v2x(struct rkisp_isp_stats_vdev *stats_vdev) {}
rkisp_init_stats_vdev_v2x(struct rkisp_isp_stats_vdev * stats_vdev)66 static inline void rkisp_init_stats_vdev_v2x(struct rkisp_isp_stats_vdev *stats_vdev) {}
rkisp_uninit_stats_vdev_v2x(struct rkisp_isp_stats_vdev * stats_vdev)67 static inline void rkisp_uninit_stats_vdev_v2x(struct rkisp_isp_stats_vdev *stats_vdev) {}
68 #endif
69 
70 #endif /* _RKISP_ISP_STATS_V2X_H */
71