unplugged-kernel/drivers/misc/mediatek/eccci/inc/ccci_port.h

85 lines
2.0 KiB
C

/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (C) 2016 MediaTek Inc.
*/
#ifndef __CCCI_PORT_H__
#define __CCCI_PORT_H__
enum {
CRIT_USR_FS,
CRIT_USR_MUXD,
CRIT_USR_MDLOG,
CRIT_USR_META,
CRIT_USR_MDLOG_CTRL = CRIT_USR_META,
CRIT_USR_MAX,
};
/*
* This API is called by ccci_modem,
* and used to create all ccci port instance for per modem
*/
int ccci_port_init(int md_id);
/*
* This API is called by ccci_fsm,
* and used to all ccci port status for debugging
*/
void ccci_port_dump_status(int md_id);
/*
* This API is called by ccci_fsm,
* and used to dispatch modem status for related port
*/
void ccci_port_md_status_notify(int md_id, unsigned int state);
/*
* This API is called by HIF,
* and used to dispatch Queue status for related port
*/
void ccci_port_queue_status_notify(int md_id, int hif_id, int qno, int dir,
unsigned int state);
/*
* This API is called by HIF,
* and used to dispatch RX data for related port
* flag: if 0x1: with ccci_header, 0x2: with netif_header
*/
int ccci_port_recv_skb(int md_id, int hif_id, struct sk_buff *skb,
unsigned int flag);
/*
* This API is called by ccci fsm,
* and used to check whether all critical user exited.
*/
int ccci_port_check_critical_user(int md_id);
/*
* This API is called by ccci fsm,
* and used to check critical user only ccci_fsd exited.
*/
int ccci_port_critical_user_only_fsd(int md_id);
/*
* This API is called by ccci fsm,
* and used to get critical user status.
*/
int ccci_port_get_critical_user(int md_id, unsigned int user_id);
/*
* This API is called by ccci fsm,
* and used to send a ccci msg for modem.
*/
int ccci_port_send_msg_to_md(int md_id, int ch, unsigned int msg,
unsigned int resv, int blocking);
/*
* This API is called by ccci fsm,
* and used to set port traffic flag to catch traffic history
* on some important channel.
* port traffic use md_boot_data[MD_CFG_DUMP_FLAG] = 0x6000_000x
* as port dump flag
*/
void ccci_port_set_traffic_flag(int md_id, unsigned int dump_flag);
#endif /* __CCCI_PORT_H__ */