xref: /OK3568_Linux_fs/kernel/drivers/media/platform/rockchip/isp/capture_v3x.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright (c) 2021 Rockchip Electronics Co., Ltd. */
3 
4 #ifndef _RKISP_CAPTURE_V3X_H
5 #define _RKISP_CAPTURE_V3X_H
6 
7 /* memory align for mpp */
8 #define RK_MPP_ALIGN 4096
9 //#define RKISP_STREAM_BP_EN 1
10 
11 #if IS_ENABLED(CONFIG_VIDEO_ROCKCHIP_ISP_VERSION_V30)
12 int rkisp_register_stream_v30(struct rkisp_device *dev);
13 void rkisp_unregister_stream_v30(struct rkisp_device *dev);
14 void rkisp_mi_v30_isr(u32 mis_val, struct rkisp_device *dev);
15 void rkisp_mipi_v30_isr(u32 phy, u32 packet, u32 overflow, u32 state, struct rkisp_device *dev);
16 #else
rkisp_register_stream_v30(struct rkisp_device * dev)17 static inline int rkisp_register_stream_v30(struct rkisp_device *dev) { return -EINVAL; }
rkisp_unregister_stream_v30(struct rkisp_device * dev)18 static inline void rkisp_unregister_stream_v30(struct rkisp_device *dev) {}
rkisp_mi_v30_isr(u32 mis_val,struct rkisp_device * dev)19 static inline void rkisp_mi_v30_isr(u32 mis_val, struct rkisp_device *dev) {}
rkisp_mipi_v30_isr(u32 phy,u32 packet,u32 overflow,u32 state,struct rkisp_device * dev)20 static inline void rkisp_mipi_v30_isr(u32 phy, u32 packet, u32 overflow, u32 state, struct rkisp_device *dev) {}
21 #endif
22 
23 #if IS_ENABLED(CONFIG_VIDEO_ROCKCHIP_ISP_VERSION_V32)
24 int rkisp_register_stream_v32(struct rkisp_device *dev);
25 void rkisp_unregister_stream_v32(struct rkisp_device *dev);
26 void rkisp_mi_v32_isr(u32 mis_val, struct rkisp_device *dev);
27 void rkisp_mipi_v32_isr(u32 phy, u32 packet, u32 overflow, u32 state, struct rkisp_device *dev);
28 
29 void rkisp_rockit_buf_state_clear(struct rkisp_stream *stream);
30 int rkisp_rockit_buf_free(struct rkisp_stream *stream);
31 void rkisp_rockit_dev_init(struct rkisp_device *dev);
32 void rkisp_rockit_dev_deinit(void);
33 bool rkisp_rockit_ctrl_fps(struct rkisp_stream *stream);
34 int rkisp_rockit_fps_set(int *dst_fps, struct rkisp_stream *stream);
35 int rkisp_rockit_fps_get(int *dst_fps, struct rkisp_stream *stream);
36 int rkisp_rockit_buf_done(struct rkisp_stream *stream, int cmd);
37 #else
rkisp_register_stream_v32(struct rkisp_device * dev)38 static inline int rkisp_register_stream_v32(struct rkisp_device *dev) { return -EINVAL; }
rkisp_unregister_stream_v32(struct rkisp_device * dev)39 static inline void rkisp_unregister_stream_v32(struct rkisp_device *dev) {}
rkisp_mi_v32_isr(u32 mis_val,struct rkisp_device * dev)40 static inline void rkisp_mi_v32_isr(u32 mis_val, struct rkisp_device *dev) {}
rkisp_mipi_v32_isr(u32 phy,u32 packet,u32 overflow,u32 state,struct rkisp_device * dev)41 static inline void rkisp_mipi_v32_isr(u32 phy, u32 packet, u32 overflow, u32 state, struct rkisp_device *dev) {}
42 
rkisp_rockit_buf_state_clear(struct rkisp_stream * stream)43 static inline void rkisp_rockit_buf_state_clear(struct rkisp_stream *stream) { return; }
rkisp_rockit_buf_free(struct rkisp_stream * stream)44 static inline int rkisp_rockit_buf_free(struct rkisp_stream *stream) { return -EINVAL; }
rkisp_rockit_dev_init(struct rkisp_device * dev)45 static inline void rkisp_rockit_dev_init(struct rkisp_device *dev) { return; }
rkisp_rockit_dev_deinit(void)46 static inline void rkisp_rockit_dev_deinit(void) {}
rkisp_rockit_ctrl_fps(struct rkisp_stream * stream)47 static inline bool rkisp_rockit_ctrl_fps(struct rkisp_stream *stream) { return false; }
rkisp_rockit_fps_set(int * dst_fps,struct rkisp_stream * stream)48 static inline int rkisp_rockit_fps_set(int *dst_fps, struct rkisp_stream *stream) { return -EINVAL; }
rkisp_rockit_fps_get(int * dst_fps,struct rkisp_stream * stream)49 static inline int rkisp_rockit_fps_get(int *dst_fps, struct rkisp_stream *stream) { return -EINVAL; }
rkisp_rockit_buf_done(struct rkisp_stream * stream,int cmd)50 static inline int rkisp_rockit_buf_done(struct rkisp_stream *stream, int cmd) { return -EINVAL; }
51 #endif
52 
53 #if IS_ENABLED(CONFIG_ROCKCHIP_DVBM)
54 int rkisp_dvbm_get(struct rkisp_device *dev);
55 int rkisp_dvbm_init(struct rkisp_stream *stream);
56 void rkisp_dvbm_deinit(void);
57 int rkisp_dvbm_event(struct rkisp_device *dev, u32 event);
58 #else
rkisp_dvbm_get(struct rkisp_device * dev)59 static inline int rkisp_dvbm_get(struct rkisp_device *dev) { return -EINVAL; }
rkisp_dvbm_init(struct rkisp_stream * stream)60 static inline int rkisp_dvbm_init(struct rkisp_stream *stream) { return -EINVAL; }
rkisp_dvbm_deinit(void)61 static inline void rkisp_dvbm_deinit(void) {}
rkisp_dvbm_event(struct rkisp_device * dev,u32 event)62 static inline int rkisp_dvbm_event(struct rkisp_device *dev, u32 event) { return -EINVAL; }
63 #endif
64 
65 #endif
66