#define Wr_reg_bits(adr, val, start, len) \
WRITE_VCBUS_REG_BITS(adr, val, start, len)
-#define RDMA_TABLE_SIZE (8 * (PAGE_SIZE))
static int vsync_rdma_handle;
static int irq_count;
static int enable;
}
EXPORT_SYMBOL(enable_rdma);
-static int __init rdma_init(void)
+struct rdma_op_s *get_rdma_ops(void)
+{
+ return &vsync_rdma_op;
+}
+void set_rdma_handle(int handle)
{
- vsync_rdma_handle =
- rdma_register(&vsync_rdma_op,
- NULL, RDMA_TABLE_SIZE);
+ vsync_rdma_handle = handle;
pr_info("%s video rdma handle = %d.\n", __func__,
vsync_rdma_handle);
+}
+
+static int __init rdma_init(void)
+
+{
cur_enable = 0;
enable = 1;
force_rdma_config = 1;
void enable_rdma(int enable_flag);
extern int rdma_watchdog_setting(int flag);
int rdma_init2(void);
+struct rdma_op_s *get_rdma_ops(void);
+void set_rdma_handle(int handle);
+
#endif
#include <linux/amlogic/media/utils/vdec_reg.h>
#include <linux/amlogic/media/rdma/rdma_mgr.h>
+#include "rdma.h"
#define DRIVER_NAME "amlogic-rdma"
#define MODULE_NAME "amlogic-rdma"
static u16 trace_reg;
#define RDMA_NUM 8
+#define RDMA_TABLE_SIZE (8 * (PAGE_SIZE))
+
struct rdma_regadr_s {
u32 rdma_ahb_start_addr;
u32 rdma_ahb_end_addr;
int i;
u32 data32;
int int_rdma;
+ int handle;
struct rdma_device_info *info = &rdma_info;
int_rdma = platform_get_irq_byname(pdev, "rdma");
WRITE_VCBUS_REG(RDMA_CTRL, data32);
info->rdma_dev = pdev;
+
+ handle = rdma_register(get_rdma_ops(), NULL, RDMA_TABLE_SIZE);
+ set_rdma_handle(handle);
+
return 0;
}