1 //-----------------------------------------------------------------------------
2 #ifndef CAMERA_PIPE_MGR_IMP_H
3 #define CAMERA_PIPE_MGR_IMP_H
4 //-----------------------------------------------------------------------------
5 typedef unsigned long long MUINT64
;
6 typedef long long MINT64
;
7 typedef unsigned long MUINT32
;
9 typedef unsigned char MUINT8
;
14 //-----------------------------------------------------------------------------
15 #define LOG_TAG "CamPipeMgr"
16 #define LOG_MSG(fmt, arg...) xlog_printk(ANDROID_LOG_VERBOSE, LOG_TAG, "[%s]" fmt "\r\n", __FUNCTION__, ##arg)
17 #define LOG_WRN(fmt, arg...) xlog_printk(ANDROID_LOG_VERBOSE, LOG_TAG, "[%s]WRN(%5d):" fmt "\r\n", __FUNCTION__, __LINE__, ##arg)
18 #define LOG_ERR(fmt, arg...) xlog_printk(ANDROID_LOG_ERROR, LOG_TAG, "[%s]ERR(%5d):" fmt "\r\n", __FUNCTION__, __LINE__, ##arg)
19 #define LOG_DMP(fmt, arg...) xlog_printk(ANDROID_LOG_ERROR, LOG_TAG, "" fmt, ##arg)
20 //-----------------------------------------------------------------------------
21 #define CAM_PIPE_MGR_DEV_NUM (1)
22 #define CAM_PIPE_MGR_DEV_MINOR_NUM (1)
23 #define CAM_PIPE_MGR_DEV_NO_MINOR (0)
24 #define CAM_PIPE_MGR_JIFFIES_MAX (0xFFFFFFFF)
25 #define CAM_PIPE_MGR_PROC_NAME "Default"
26 #define CAM_PIPE_MGR_SCEN_HW_AMOUNT (7)
27 #define CAM_PIPE_MGR_TIMEOUT_MAX (10*1000)
28 //-----------------------------------------------------------------------------
29 #define CAM_PIPE_MGR_PIPE_NAME_LEN (10)
30 #define CAM_PIPE_MGR_PIPE_NAME_CAM_IO "CamIO"
31 #define CAM_PIPE_MGR_PIPE_NAME_POST_PROC "PostProc"
32 #define CAM_PIPE_MGR_PIPE_NAME_XDP_CAM "CamXDP"
33 //-----------------------------------------------------------------------------
36 CAM_PIPE_MGR_PIPE_CAM_IO
,
37 CAM_PIPE_MGR_PIPE_POST_PROC
,
38 CAM_PIPE_MGR_PIPE_XDP_CAM
,
39 CAM_PIPE_MGR_PIPE_AMOUNT
40 }CAM_PIPE_MGR_PIPE_ENUM
;
44 CAM_PIPE_MGR_STATUS_OK
,
45 CAM_PIPE_MGR_STATUS_FAIL
,
46 CAM_PIPE_MGR_STATUS_TIMEOUT
,
47 CAM_PIPE_MGR_STATUS_UNKNOW
48 }CAM_PIPE_MGR_STATUS_ENUM
;
50 #define CAM_PIPE_MGR_LOCK_TABLE_NONE ( 0)
51 #define CAM_PIPE_MGR_LOCK_TABLE_IC ( (1<<CAM_PIPE_MGR_PIPE_CAM_IO)| \
52 (1<<CAM_PIPE_MGR_PIPE_POST_PROC))
53 #define CAM_PIPE_MGR_LOCK_TABLE_VR ( (1<<CAM_PIPE_MGR_PIPE_CAM_IO)| \
54 (1<<CAM_PIPE_MGR_PIPE_XDP_CAM))
55 #define CAM_PIPE_MGR_LOCK_TABLE_ZSD ( (1<<CAM_PIPE_MGR_PIPE_CAM_IO)| \
56 (1<<CAM_PIPE_MGR_PIPE_XDP_CAM))
57 #define CAM_PIPE_MGR_LOCK_TABLE_IP ( (1<<CAM_PIPE_MGR_PIPE_POST_PROC))
58 #define CAM_PIPE_MGR_LOCK_TABLE_N3D ( (1<<CAM_PIPE_MGR_PIPE_CAM_IO)| \
59 (1<<CAM_PIPE_MGR_PIPE_POST_PROC))
60 #define CAM_PIPE_MGR_LOCK_TABLE_VSS ( (1<<CAM_PIPE_MGR_PIPE_CAM_IO)| \
61 (1<<CAM_PIPE_MGR_PIPE_POST_PROC))
62 //-----------------------------------------------------------------------------
67 char ProcName
[TASK_COMM_LEN
];
71 }CAM_PIPE_MGR_PROC_STRUCT
;
77 char ProcName
[TASK_COMM_LEN
];
80 }CAM_PIPE_MGR_PIPE_STRUCT
;
87 struct cdev
* pCharDrv
;
89 wait_queue_head_t WaitQueueHead
;
90 CAM_PIPE_MGR_MODE_STRUCT Mode
;
91 CAM_PIPE_MGR_PIPE_STRUCT PipeInfo
[CAM_PIPE_MGR_PIPE_AMOUNT
];
92 char PipeName
[CAM_PIPE_MGR_PIPE_AMOUNT
][CAM_PIPE_MGR_PIPE_NAME_LEN
];
93 MUINT32 PipeLockTable
[CAM_PIPE_MGR_SCEN_HW_AMOUNT
];
96 //-----------------------------------------------------------------------------
98 //-----------------------------------------------------------------------------