hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/media/platform/rockchip/ispp/params.h
....@@ -4,7 +4,8 @@
44 #ifndef _RKISPP_PARAMS_H
55 #define _RKISPP_PARAMS_H
66
7
-#include <linux/rkispp-config.h>
7
+#include <linux/fec-config.h>
8
+#include <linux/rk-ispp-config.h>
89 #include "common.h"
910
1011 enum rkispp_paramvdev_id {
....@@ -13,6 +14,25 @@
1314 PARAM_VDEV_FEC,
1415 PARAM_VDEV_MAX
1516 };
17
+
18
+#define ISPP_PACK_4BYTE(a, b, c, d) \
19
+ (((a) & 0xFF) << 0 | ((b) & 0xFF) << 8 | \
20
+ ((c) & 0xFF) << 16 | ((d) & 0xFF) << 24)
21
+
22
+#define ISPP_PACK_4BIT(a, b, c, d, e, f, g, h) \
23
+ (((a) & 0xf) << 0 | ((b) & 0xf) << 4 | \
24
+ ((c) & 0xf) << 8 | ((d) & 0xf) << 12 | \
25
+ ((e) & 0xf) << 16 | ((f) & 0xf) << 20 | \
26
+ ((g) & 0xf) << 24 | ((h) & 0xf) << 28)
27
+
28
+#define ISPP_PACK_4BYTE(a, b, c, d) \
29
+ (((a) & 0xFF) << 0 | ((b) & 0xFF) << 8 | \
30
+ ((c) & 0xFF) << 16 | ((d) & 0xFF) << 24)
31
+
32
+#define ISPP_PACK_2SHORT(a, b) \
33
+ (((a) & 0xFFFF) << 0 | ((b) & 0xFFFF) << 16)
34
+
35
+#define ISPP_NOBIG_OVERFLOW_SIZE (2560 * 1440)
1636
1737 /* rkispp parameters device
1838 * config_lock: lock to protect config
....@@ -23,6 +43,7 @@
2343 struct rkispp_params_vdev {
2444 struct rkispp_vdev_node vnode;
2545 struct rkispp_device *dev;
46
+ struct rkispp_params_ops *params_ops;
2647
2748 spinlock_t config_lock;
2849 struct list_head params;
....@@ -39,11 +60,16 @@
3960 enum rkispp_paramvdev_id vdev_id;
4061 };
4162
63
+struct rkispp_params_ops {
64
+ void (*rkispp_params_cfg)(struct rkispp_params_vdev *params_vdev, u32 frame_id);
65
+ void (*rkispp_params_vb2_buf_queue)(struct vb2_buffer *vb);
66
+};
67
+
4268 int rkispp_register_params_vdevs(struct rkispp_device *dev);
4369 void rkispp_unregister_params_vdevs(struct rkispp_device *dev);
44
-void rkispp_params_cfg(struct rkispp_params_vdev *params_vdev, u32 frame_id);
4570 void rkispp_params_get_fecbuf_inf(struct rkispp_params_vdev *params_vdev,
4671 struct rkispp_fecbuf_info *fecbuf);
4772 void rkispp_params_set_fecbuf_size(struct rkispp_params_vdev *params_vdev,
4873 struct rkispp_fecbuf_size *fecsize);
74
+
4975 #endif