| // SPDX-License-Identifier: ISC |
| /* |
| * Copyright (c) 2012 Broadcom Corporation |
| */ |
| |
| #ifndef FWSIGNAL_H_ |
| #define FWSIGNAL_H_ |
| |
| /** |
| * enum brcmf_fws_fifo - fifo indices used by dongle firmware. |
| * |
| * @BRCMF_FWS_FIFO_FIRST: first fifo, ie. background. |
| * @BRCMF_FWS_FIFO_AC_BK: fifo for background traffic. |
| * @BRCMF_FWS_FIFO_AC_BE: fifo for best-effort traffic. |
| * @BRCMF_FWS_FIFO_AC_VI: fifo for video traffic. |
| * @BRCMF_FWS_FIFO_AC_VO: fifo for voice traffic. |
| * @BRCMF_FWS_FIFO_BCMC: fifo for broadcast/multicast (AP only). |
| * @BRCMF_FWS_FIFO_ATIM: fifo for ATIM (AP only). |
| * @BRCMF_FWS_FIFO_COUNT: number of fifos. |
| */ |
| enum brcmf_fws_fifo { |
| BRCMF_FWS_FIFO_FIRST, |
| BRCMF_FWS_FIFO_AC_BK = BRCMF_FWS_FIFO_FIRST, |
| BRCMF_FWS_FIFO_AC_BE, |
| BRCMF_FWS_FIFO_AC_VI, |
| BRCMF_FWS_FIFO_AC_VO, |
| BRCMF_FWS_FIFO_BCMC, |
| BRCMF_FWS_FIFO_ATIM, |
| BRCMF_FWS_FIFO_COUNT |
| }; |
| |
| struct brcmf_fws_info *brcmf_fws_attach(struct brcmf_pub *drvr); |
| void brcmf_fws_detach(struct brcmf_fws_info *fws); |
| void brcmf_fws_debugfs_create(struct brcmf_pub *drvr); |
| bool brcmf_fws_queue_skbs(struct brcmf_fws_info *fws); |
| bool brcmf_fws_fc_active(struct brcmf_fws_info *fws); |
| void brcmf_fws_hdrpull(struct brcmf_if *ifp, s16 siglen, struct sk_buff *skb); |
| int brcmf_fws_process_skb(struct brcmf_if *ifp, struct sk_buff *skb); |
| |
| void brcmf_fws_reset_interface(struct brcmf_if *ifp); |
| void brcmf_fws_add_interface(struct brcmf_if *ifp); |
| void brcmf_fws_del_interface(struct brcmf_if *ifp); |
| void brcmf_fws_bustxcomplete(struct brcmf_fws_info *fws, struct sk_buff *skb, |
| bool success); |
| void brcmf_fws_bus_blocked(struct brcmf_pub *drvr, bool flow_blocked); |
| void brcmf_fws_rxreorder(struct brcmf_if *ifp, struct sk_buff *skb); |
| |
| #endif /* FWSIGNAL_H_ */ |