diff options
Diffstat (limited to 'drivers/char/mux_sdio_opt1_hal/ipc_info.h')
| -rw-r--r-- | drivers/char/mux_sdio_opt1_hal/ipc_info.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/drivers/char/mux_sdio_opt1_hal/ipc_info.h b/drivers/char/mux_sdio_opt1_hal/ipc_info.h new file mode 100644 index 00000000..f603440a --- /dev/null +++ b/drivers/char/mux_sdio_opt1_hal/ipc_info.h @@ -0,0 +1,52 @@ +#ifndef __ipc_info_H__ +#define __ipc_info_H__ + +#define IPC_STATUS_IDLE 0 +#define IPC_STATUS_IRQ_IND 1 +#define IPC_STATUS_CONNECT_REQ 2 +#define IPC_STATUS_CONNECTED 3 +#define IPC_STATUS_DISCONNECT_REQ 4 +#define IPC_STATUS_DISCONNECTED 5 +#define IPC_STATUS_FLOW_STOP 6 +#define IPC_STATUS_INVALID_PACKET 7 +#define IPC_STATUS_CRC_ERROR 8 +#define IPC_STATUS_PACKET_ERROR 9 +#define IPC_STATUS_INVAILD 10 + + +#define IPC_TX_CHANNEL 0 +#define IPC_RX_CHANNEL 1 +#define IPC_CHANNEL_NUM 2 + +typedef struct IPC_INFO_Tag { + u32 status; + u32 rate; + u32 mux_count; + u32 sdio_count; + u32 payload_count; + u32 saved_count; + u32 flow_stop_count; + u32 invalid_pkt_count; + u32 packet_error_count; + u32 crc_error_count; + u32 overflow_count; +} IPC_INFO_T; + + +void ipc_info_init(void); +void ipc_info_change_status(u32 channel, u32 status); +void ipc_info_rate(u32 channel, u32 value); +void ipc_info_mux_write(u32 size); +void ipc_info_mux_read(u32 size); +void ipc_info_mux_read_overflow(u32 size); +void ipc_info_sdio_write(u32 size); +void ipc_info_sdio_write_payload(u32 size); +void ipc_info_sdio_write_overflow(u32 size); +void ipc_info_sdio_read(u32 size); +void ipc_info_sdio_read_payload(u32 size); +void ipc_info_sdio_read_saved_count(u32 size); +void ipc_info_error_status(u32 channel, u32 status); +void ipc_info_sdio_write_overflow(u32 size); +IPC_INFO_T* ipc_info_getinfo(u32 channel); +int sdio_frame_check(char* buf_ptr, size_t length); +#endif /* __MICP_PERF_H__*/ |
