From d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Mon, 11 Dec 2023 02:45:28 +0000
Subject: [PATCH] add boot partition  size

---
 kernel/drivers/media/platform/rockchip/ispp/stream.h |   49 ++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 44 insertions(+), 5 deletions(-)

diff --git a/kernel/drivers/media/platform/rockchip/ispp/stream.h b/kernel/drivers/media/platform/rockchip/ispp/stream.h
index 70c3e2c..d0269e8 100644
--- a/kernel/drivers/media/platform/rockchip/ispp/stream.h
+++ b/kernel/drivers/media/platform/rockchip/ispp/stream.h
@@ -5,6 +5,7 @@
 #define _RKISPP_STREAM_H
 
 #include "common.h"
+#include "params.h"
 
 #define RKISPP_FEC_BUF_MAX 7
 
@@ -21,10 +22,10 @@
 enum rkispp_stream_id {
 	STREAM_II = 0,
 	STREAM_MB,
+	STREAM_VIR,
 	STREAM_S0,
 	STREAM_S1,
 	STREAM_S2,
-	STREAM_VIR,
 	STREAM_MAX
 };
 
@@ -125,7 +126,9 @@
 
 struct fec_module {
 	struct list_head list_rd;
-	struct rkispp_dummy_buffer *cur_rd;
+	struct list_head list_wr;
+	struct rkisp_ispp_buf *cur_rd;
+	struct rkispp_dummy_buffer *dummy_cur_rd;
 	struct rkisp_ispp_reg *reg_buf;
 	struct frame_debug_info dbg;
 	spinlock_t buf_lock;
@@ -204,6 +207,21 @@
 	bool is_en;
 };
 
+
+struct rkispp_stream_ops {
+	int (*config_modules)(struct rkispp_device *dev);
+	void (*destroy_buf)(struct rkispp_stream *stream);
+	void (*fec_work_event)(struct rkispp_device *dev, void *buf_rd,
+			       bool is_isr, bool is_quick);
+	int (*start_isp)(struct rkispp_device *dev);
+	void (*check_to_force_update)(struct rkispp_device *dev, u32 mis_val);
+	void (*update_mi)(struct rkispp_stream *stream);
+	enum hrtimer_restart (*rkispp_frame_done_early)(struct hrtimer *timer);
+	void (*rkispp_module_work_event)(struct rkispp_device *dev,
+					 void *buf_rd, void *buf_wr,
+					 u32 module, bool is_isr);
+};
+
 struct rkispp_vir_cpy {
 	struct work_struct work;
 	struct completion cmpl;
@@ -219,6 +237,7 @@
 	struct fec_module fec;
 	struct frame_debug_info dbg;
 	struct rkispp_monitor monitor;
+	struct rkispp_stream_ops *stream_ops;
 	struct rkispp_vir_cpy vir_cpy;
 	struct rkisp_ispp_buf input[VIDEO_MAX_FRAME];
 	struct hrtimer fec_qst;
@@ -234,10 +253,30 @@
 int rkispp_get_nrbuf_fd(struct rkispp_device *dev, struct rkispp_buf_idxfd *idxfd);
 void rkispp_set_trigger_mode(struct rkispp_device *dev,
 			     struct rkispp_trigger_mode *mode);
-void rkispp_module_work_event(struct rkispp_device *dev,
-			      void *buf_rd, void *buf_wr,
-			      u32 module, bool is_isr);
 void rkispp_isr(u32 mis_val, struct rkispp_device *dev);
 void rkispp_unregister_stream_vdevs(struct rkispp_device *dev);
 int rkispp_register_stream_vdevs(struct rkispp_device *dev);
+void *get_pool_buf(struct rkispp_device *dev, struct rkisp_ispp_buf *dbufs);
+void *dbuf_to_dummy(struct dma_buf *dbuf, struct rkispp_dummy_buffer *pool, int num);
+void *get_list_buf(struct list_head *list, bool is_isp_ispp);
+void get_stream_buf(struct rkispp_stream *stream);
+void secure_config_mb(struct rkispp_stream *stream);
+
+#if IS_ENABLED(CONFIG_VIDEO_ROCKCHIP_ISPP_VERSION_V10)
+void rkispp_stream_init_ops_v10(struct rkispp_stream_vdev *stream_vdev);
+void rkispp_params_init_ops_v10(struct rkispp_params_vdev *params_vdev);
+#else
+static inline void rkispp_stream_init_ops_v10(struct rkispp_stream_vdev *stream_vdev) {}
+static inline void rkispp_params_init_ops_v10(struct rkispp_params_vdev *params_vdev) {}
+#endif
+
+#if IS_ENABLED(CONFIG_VIDEO_ROCKCHIP_ISPP_VERSION_V20)
+void rkispp_stream_init_ops_v20(struct rkispp_stream_vdev *stream_vdev);
+void rkispp_params_init_ops_v20(struct rkispp_params_vdev *params_vdev);
+#else
+static inline void rkispp_stream_init_ops_v20(struct rkispp_stream_vdev *stream_vdev) {}
+static inline void rkispp_params_init_ops_v20(struct rkispp_params_vdev *params_vdev) {}
+#endif
+int rkispp_frame_end(struct rkispp_stream *stream, u32 state);
+void rkispp_start_3a_run(struct rkispp_device *dev);
 #endif

--
Gitblit v1.6.2