| .. | .. |
|---|
| 1 | +// SPDX-License-Identifier: ISC |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * Copyright (c) 2012 Broadcom Corporation |
|---|
| 3 | | - * |
|---|
| 4 | | - * Permission to use, copy, modify, and/or distribute this software for any |
|---|
| 5 | | - * purpose with or without fee is hereby granted, provided that the above |
|---|
| 6 | | - * copyright notice and this permission notice appear in all copies. |
|---|
| 7 | | - * |
|---|
| 8 | | - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
|---|
| 9 | | - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
|---|
| 10 | | - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY |
|---|
| 11 | | - * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
|---|
| 12 | | - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION |
|---|
| 13 | | - * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN |
|---|
| 14 | | - * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
|---|
| 15 | 4 | */ |
|---|
| 16 | | - |
|---|
| 17 | 5 | |
|---|
| 18 | 6 | #ifndef FWSIGNAL_H_ |
|---|
| 19 | 7 | #define FWSIGNAL_H_ |
|---|
| 20 | 8 | |
|---|
| 9 | +/** |
|---|
| 10 | + * enum brcmf_fws_fifo - fifo indices used by dongle firmware. |
|---|
| 11 | + * |
|---|
| 12 | + * @BRCMF_FWS_FIFO_FIRST: first fifo, ie. background. |
|---|
| 13 | + * @BRCMF_FWS_FIFO_AC_BK: fifo for background traffic. |
|---|
| 14 | + * @BRCMF_FWS_FIFO_AC_BE: fifo for best-effort traffic. |
|---|
| 15 | + * @BRCMF_FWS_FIFO_AC_VI: fifo for video traffic. |
|---|
| 16 | + * @BRCMF_FWS_FIFO_AC_VO: fifo for voice traffic. |
|---|
| 17 | + * @BRCMF_FWS_FIFO_BCMC: fifo for broadcast/multicast (AP only). |
|---|
| 18 | + * @BRCMF_FWS_FIFO_ATIM: fifo for ATIM (AP only). |
|---|
| 19 | + * @BRCMF_FWS_FIFO_COUNT: number of fifos. |
|---|
| 20 | + */ |
|---|
| 21 | +enum brcmf_fws_fifo { |
|---|
| 22 | + BRCMF_FWS_FIFO_FIRST, |
|---|
| 23 | + BRCMF_FWS_FIFO_AC_BK = BRCMF_FWS_FIFO_FIRST, |
|---|
| 24 | + BRCMF_FWS_FIFO_AC_BE, |
|---|
| 25 | + BRCMF_FWS_FIFO_AC_VI, |
|---|
| 26 | + BRCMF_FWS_FIFO_AC_VO, |
|---|
| 27 | + BRCMF_FWS_FIFO_BCMC, |
|---|
| 28 | + BRCMF_FWS_FIFO_ATIM, |
|---|
| 29 | + BRCMF_FWS_FIFO_COUNT |
|---|
| 30 | +}; |
|---|
| 31 | + |
|---|
| 21 | 32 | struct brcmf_fws_info *brcmf_fws_attach(struct brcmf_pub *drvr); |
|---|
| 22 | | -void brcmf_fws_detach_pre_delif(struct brcmf_fws_info *fws); |
|---|
| 23 | | -void brcmf_fws_detach_post_delif(struct brcmf_fws_info *fws); |
|---|
| 33 | +void brcmf_fws_detach(struct brcmf_fws_info *fws); |
|---|
| 24 | 34 | void brcmf_fws_debugfs_create(struct brcmf_pub *drvr); |
|---|
| 25 | 35 | bool brcmf_fws_queue_skbs(struct brcmf_fws_info *fws); |
|---|
| 26 | 36 | bool brcmf_fws_fc_active(struct brcmf_fws_info *fws); |
|---|
| .. | .. |
|---|
| 32 | 42 | void brcmf_fws_del_interface(struct brcmf_if *ifp); |
|---|
| 33 | 43 | void brcmf_fws_bustxfail(struct brcmf_fws_info *fws, struct sk_buff *skb); |
|---|
| 34 | 44 | void brcmf_fws_bus_blocked(struct brcmf_pub *drvr, bool flow_blocked); |
|---|
| 35 | | -void brcmf_fws_rxreorder(struct brcmf_if *ifp, struct sk_buff *skb); |
|---|
| 45 | +void brcmf_fws_rxreorder(struct brcmf_if *ifp, struct sk_buff *skb, bool inirq); |
|---|
| 36 | 46 | |
|---|
| 37 | 47 | #endif /* FWSIGNAL_H_ */ |
|---|