add cmmb moudle file directory.
[firefly-linux-kernel-4.4.55.git] / drivers / cmmb / cmmb_memory.h
diff --git a/drivers/cmmb/cmmb_memory.h b/drivers/cmmb/cmmb_memory.h
new file mode 100755 (executable)
index 0000000..efd85ec
--- /dev/null
@@ -0,0 +1,64 @@
+#ifndef _CMMB_AV_MEMORY_H_\r
+#define _CMMB_AV_MEMORY_H_\r
+\r
+#include <linux/module.h>\r
+#include <linux/interrupt.h>\r
+//#include <asm/semaphore.h>\r
+#include <linux/mutex.h>\r
+#include "cmmb_ringbuffer.h"\r
+\r
+\r
+#define   CMMB_MEMO_WRITE          (0x80000001)\r
+#define   CMMB_MEMO_READ           (0x80000002)\r
+#define   CMMB_MEMO_FLUSH_ONE      (0x80000003)\r
+#define   CMMB_MEMO_FLUSH_ALL      (0x80000004)\r
+#define   CMMB_MEMO_INIT           (0x80000005)\r
+#define   CMMB_SET_VIDEO_TYPE      (0x80000006)\r
+#define   CMMB_SET_AUDIO_TYPE      (0x80000007)\r
+#define   CMMB_SET_AUDIO_SAMPLE    (0x80000008)\r
+#define   CMMB_GET_VIDEO_TYPE      (0x80000009)\r
+#define   CMMB_GET_AUDIO_TYPE      (0x8000000a)\r
+#define   CMMB_GET_AUDIO_SAMPLE    (0x8000000b)\r
+#define   CMMB_GET_BUFF_FREE       (0x8000000c)\r
+#define   CMMB_GET_BUFF_AVAIL      (0x8000000d)\r
+\r
+\r
+struct cmmb_memory\r
+{\r
+    int  w_datatype;\r
+    int  r_datatype;\r
+    unsigned long  videotype;\r
+    unsigned long  audiotype;\r
+    unsigned long  audiosample;\r
+    int usr;\r
+\r
+    struct device *device;\r
+    struct file_operations* fops;\r
+    struct dvb_ringbuffer  buffer_Video;\r
+    struct dvb_ringbuffer  buffer_Audio;\r
+    struct dvb_ringbuffer  buffer_Data;\r
+    u8 *video_buf; \r
+    u8 *audio_buf; \r
+    u8 *data_buf; \r
+    \r
+    #define  CMMB_VIDEO_TYPE     0\r
+    #define  CMMB_AUDIO_TYPE     1\r
+    #define  CMMB_DATA_TYPE      2\r
+    #define  CMMB_NULL_TYPE      3\r
+    \r
+    #define CMMB_VIDEO_BUFFER_SIZE (512*1024)\r
+    #define CMMB_AUDIO_BUFFER_SIZE (64*1024)\r
+    #define CMMB_DATA_BUFFER_SIZE  (1*1024)\r
+\r
+       struct mutex mutex;\r
+    //struct semaphore sem;\r
+       spinlock_t lock;\r
+    wait_queue_head_t rqueue;\r
+    void* priv;\r
+};\r
+\r
+\r
+\r
+#endif/*_CMMBMEMORY_H_*/\r
+\r
+\r