hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/media/platform/rockchip/isp/bridge.h
....@@ -5,7 +5,7 @@
55 #define _RKISP_BRIDGE_H
66
77 #include "linux/platform_device.h"
8
-#include <linux/rkisp1-config.h>
8
+#include <linux/rk-isp1-config.h>
99 #include "isp_ispp.h"
1010
1111 #define BRIDGE_DEV_NAME DRIVER_NAME "-bridge-ispp"
....@@ -17,6 +17,10 @@
1717 int (*config)(struct rkisp_bridge_device *dev);
1818 void (*disable)(struct rkisp_bridge_device *dev);
1919 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);
2024 };
2125
2226 struct rkisp_bridge_config {
....@@ -68,22 +72,34 @@
6872 bool frame_early;
6973 };
7074
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)
7276 int rkisp_register_bridge_subdev(struct rkisp_device *dev,
7377 struct v4l2_device *v4l2_dev);
7478 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);
7679 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);
8080 void rkisp_bridge_update_mi(struct rkisp_device *dev, u32 isp_mis);
8181 void rkisp_get_bridge_sd(struct platform_device *dev, struct v4l2_subdev **sd);
8282 #else
8383 static inline int rkisp_register_bridge_subdev(struct rkisp_device *dev, struct v4l2_device *v4l2_dev) { return 0; }
8484 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; }
8685 static inline void rkisp_bridge_update_mi(struct rkisp_device *dev, u32 isp_mis) {}
8786 #endif
8887
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
+
89105 #endif