| .. | .. |
|---|
| 5 | 5 | #define _RKISP_BRIDGE_H |
|---|
| 6 | 6 | |
|---|
| 7 | 7 | #include "linux/platform_device.h" |
|---|
| 8 | | -#include <linux/rkisp1-config.h> |
|---|
| 8 | +#include <linux/rk-isp1-config.h> |
|---|
| 9 | 9 | #include "isp_ispp.h" |
|---|
| 10 | 10 | |
|---|
| 11 | 11 | #define BRIDGE_DEV_NAME DRIVER_NAME "-bridge-ispp" |
|---|
| .. | .. |
|---|
| 17 | 17 | int (*config)(struct rkisp_bridge_device *dev); |
|---|
| 18 | 18 | void (*disable)(struct rkisp_bridge_device *dev); |
|---|
| 19 | 19 | bool (*is_stopped)(struct rkisp_bridge_device *dev); |
|---|
| 20 | + int (*start)(struct rkisp_bridge_device *dev); |
|---|
| 21 | + int (*stop)(struct rkisp_bridge_device *dev); |
|---|
| 22 | + void (*update_mi)(struct rkisp_bridge_device *dev); |
|---|
| 23 | + int (*frame_end)(struct rkisp_bridge_device *dev, u32 state); |
|---|
| 20 | 24 | }; |
|---|
| 21 | 25 | |
|---|
| 22 | 26 | struct rkisp_bridge_config { |
|---|
| .. | .. |
|---|
| 68 | 72 | bool frame_early; |
|---|
| 69 | 73 | }; |
|---|
| 70 | 74 | |
|---|
| 71 | | -#if IS_ENABLED(CONFIG_VIDEO_ROCKCHIP_ISP_VERSION_V20) |
|---|
| 75 | +#if IS_ENABLED(CONFIG_VIDEO_ROCKCHIP_ISP_VERSION_V20) || IS_ENABLED(CONFIG_VIDEO_ROCKCHIP_ISP_VERSION_V30) |
|---|
| 72 | 76 | int rkisp_register_bridge_subdev(struct rkisp_device *dev, |
|---|
| 73 | 77 | struct v4l2_device *v4l2_dev); |
|---|
| 74 | 78 | void rkisp_unregister_bridge_subdev(struct rkisp_device *dev); |
|---|
| 75 | | -int rkisp_bridge_get_fbcbuf_fd(struct rkisp_device *dev, struct isp2x_buf_idxfd *idxfd); |
|---|
| 76 | 79 | void rkisp_bridge_isr(u32 *mis_val, struct rkisp_device *dev); |
|---|
| 77 | | -void rkisp_bridge_sendtopp_buffer(struct rkisp_device *dev, u32 dev_id, u32 buf_idx); |
|---|
| 78 | | -void rkisp_bridge_save_spbuf(struct rkisp_device *dev, struct rkisp_buffer *sp_buf); |
|---|
| 79 | | -void rkisp_bridge_stop_spstream(struct rkisp_device *dev); |
|---|
| 80 | 80 | void rkisp_bridge_update_mi(struct rkisp_device *dev, u32 isp_mis); |
|---|
| 81 | 81 | void rkisp_get_bridge_sd(struct platform_device *dev, struct v4l2_subdev **sd); |
|---|
| 82 | 82 | #else |
|---|
| 83 | 83 | static inline int rkisp_register_bridge_subdev(struct rkisp_device *dev, struct v4l2_device *v4l2_dev) { return 0; } |
|---|
| 84 | 84 | static inline void rkisp_unregister_bridge_subdev(struct rkisp_device *dev) {} |
|---|
| 85 | | -static inline int rkisp_bridge_get_fbcbuf_fd(struct rkisp_device *dev, struct isp2x_buf_idxfd *idxfd) { return 0; } |
|---|
| 86 | 85 | static inline void rkisp_bridge_update_mi(struct rkisp_device *dev, u32 isp_mis) {} |
|---|
| 87 | 86 | #endif |
|---|
| 88 | 87 | |
|---|
| 88 | +#if IS_ENABLED(CONFIG_VIDEO_ROCKCHIP_ISP_VERSION_V20) |
|---|
| 89 | +int rkisp_bridge_get_fbcbuf_fd(struct rkisp_device *dev, struct isp2x_buf_idxfd *idxfd); |
|---|
| 90 | +void rkisp_bridge_sendtopp_buffer(struct rkisp_device *dev, u32 dev_id, u32 buf_idx); |
|---|
| 91 | +void rkisp_bridge_save_spbuf(struct rkisp_device *dev, struct rkisp_buffer *sp_buf); |
|---|
| 92 | +void rkisp_bridge_stop_spstream(struct rkisp_device *dev); |
|---|
| 93 | +void rkisp_bridge_init_ops_v20(struct rkisp_bridge_device *dev); |
|---|
| 94 | +#else |
|---|
| 95 | +static inline int rkisp_bridge_get_fbcbuf_fd(struct rkisp_device *dev, struct isp2x_buf_idxfd *idxfd) { return 0; } |
|---|
| 96 | +static inline void rkisp_bridge_init_ops_v20(struct rkisp_bridge_device *dev) {} |
|---|
| 97 | +#endif |
|---|
| 98 | + |
|---|
| 99 | +#if IS_ENABLED(CONFIG_VIDEO_ROCKCHIP_ISP_VERSION_V30) |
|---|
| 100 | +void rkisp_bridge_init_ops_v30(struct rkisp_bridge_device *dev); |
|---|
| 101 | +#else |
|---|
| 102 | +static inline void rkisp_bridge_init_ops_v30(struct rkisp_bridge_device *dev) {} |
|---|
| 103 | +#endif |
|---|
| 104 | + |
|---|
| 89 | 105 | #endif |
|---|