From 1543e317f1da31b75942316931e8f491a8920811 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Thu, 04 Jan 2024 10:08:02 +0000
Subject: [PATCH] disable FB
---
kernel/drivers/media/platform/rockchip/isp/common.h | 41 ++++++++++++++++++++++++++++-------------
1 files changed, 28 insertions(+), 13 deletions(-)
diff --git a/kernel/drivers/media/platform/rockchip/isp/common.h b/kernel/drivers/media/platform/rockchip/isp/common.h
index d86c764..ebd4095 100644
--- a/kernel/drivers/media/platform/rockchip/isp/common.h
+++ b/kernel/drivers/media/platform/rockchip/isp/common.h
@@ -38,7 +38,9 @@
#include <linux/clk.h>
#include <linux/media.h>
#include <linux/mutex.h>
+#include <linux/rk-video-format.h>
#include <linux/slab.h>
+#include <linux/soc/rockchip/rk_sdmmc.h>
#include <media/media-device.h>
#include <media/media-entity.h>
#include <media/v4l2-ctrls.h>
@@ -49,14 +51,6 @@
#define RKISP_DEFAULT_WIDTH 800
#define RKISP_DEFAULT_HEIGHT 600
-
-#define RKISP_MAX_STREAM 6
-#define RKISP_STREAM_MP 0
-#define RKISP_STREAM_SP 1
-#define RKISP_STREAM_DMATX0 2
-#define RKISP_STREAM_DMATX1 3
-#define RKISP_STREAM_DMATX2 4
-#define RKISP_STREAM_DMATX3 5
#define RKISP_PLANE_Y 0
#define RKISP_PLANE_CB 1
@@ -78,6 +72,9 @@
ISP_V13 = 0x30,
ISP_V20 = 0x40,
ISP_V21 = 0x50,
+ ISP_V30 = 0x60,
+ ISP_V32 = 0x70,
+ ISP_V32_L = 0x80,
};
enum rkisp_sd_type {
@@ -103,6 +100,7 @@
FMT_FBCGAIN,
FMT_EBD,
FMT_SPD,
+ FMT_FBC,
FMT_MAX
};
@@ -116,11 +114,10 @@
struct rkisp_buffer {
struct vb2_v4l2_buffer vb;
struct list_head queue;
+ void *vaddr[VIDEO_MAX_PLANES];
+ u32 buff_addr[VIDEO_MAX_PLANES];
int dev_id;
- union {
- u32 buff_addr[VIDEO_MAX_PLANES];
- void *vaddr[VIDEO_MAX_PLANES];
- };
+ void *other;
};
struct rkisp_dummy_buffer {
@@ -139,6 +136,7 @@
extern int rkisp_debug;
extern bool rkisp_monitor;
+extern bool rkisp_irq_dbg;
extern u64 rkisp_debug_reg;
extern struct platform_driver rkisp_plat_drv;
@@ -167,9 +165,25 @@
void rkisp_write(struct rkisp_device *dev, u32 reg, u32 val, bool is_direct);
u32 rkisp_read(struct rkisp_device *dev, u32 reg, bool is_direct);
-u32 rkisp_read_reg_cache(struct rkisp_device *dev, u32 reg);
void rkisp_set_bits(struct rkisp_device *dev, u32 reg, u32 mask, u32 val, bool is_direct);
void rkisp_clear_bits(struct rkisp_device *dev, u32 reg, u32 mask, bool is_direct);
+
+void rkisp_write_reg_cache(struct rkisp_device *dev, u32 reg, u32 val);
+u32 rkisp_read_reg_cache(struct rkisp_device *dev, u32 reg);
+void rkisp_set_reg_cache_bits(struct rkisp_device *dev, u32 reg, u32 mask, u32 val);
+void rkisp_clear_reg_cache_bits(struct rkisp_device *dev, u32 reg, u32 mask);
+
+/* for dual isp, config for next isp reg */
+void rkisp_next_write(struct rkisp_device *dev, u32 reg, u32 val, bool is_direct);
+u32 rkisp_next_read(struct rkisp_device *dev, u32 reg, bool is_direct);
+void rkisp_next_set_bits(struct rkisp_device *dev, u32 reg, u32 mask, u32 val, bool is_direct);
+void rkisp_next_clear_bits(struct rkisp_device *dev, u32 reg, u32 mask, bool is_direct);
+
+void rkisp_next_write_reg_cache(struct rkisp_device *dev, u32 reg, u32 val);
+u32 rkisp_next_read_reg_cache(struct rkisp_device *dev, u32 reg);
+void rkisp_next_set_reg_cache_bits(struct rkisp_device *dev, u32 reg, u32 mask, u32 val);
+void rkisp_next_clear_reg_cache_bits(struct rkisp_device *dev, u32 reg, u32 mask);
+
void rkisp_update_regs(struct rkisp_device *dev, u32 start, u32 end);
int rkisp_alloc_buffer(struct rkisp_device *dev, struct rkisp_dummy_buffer *buf);
@@ -182,4 +196,5 @@
void rkisp_free_common_dummy_buf(struct rkisp_device *dev);
void rkisp_set_clk_rate(struct clk *clk, unsigned long rate);
+u64 rkisp_time_get_ns(struct rkisp_device *dev);
#endif /* _RKISP_COMMON_H */
--
Gitblit v1.6.2