]>
Commit | Line | Data |
---|---|---|
71bb244b AS |
1 | /* |
2 | * Copyright (c) 2011 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 | */ | |
16 | #ifndef BRCMFMAC_USB_H | |
17 | #define BRCMFMAC_USB_H | |
18 | ||
19 | enum brcmf_usb_state { | |
20 | BCMFMAC_USB_STATE_DL_PENDING, | |
21 | BCMFMAC_USB_STATE_DL_DONE, | |
22 | BCMFMAC_USB_STATE_UP, | |
23 | BCMFMAC_USB_STATE_DOWN, | |
24 | BCMFMAC_USB_STATE_PNP_FWDL, | |
25 | BCMFMAC_USB_STATE_DISCONNECT, | |
26 | BCMFMAC_USB_STATE_SLEEP | |
27 | }; | |
28 | ||
29 | enum brcmf_usb_pnp_state { | |
30 | BCMFMAC_USB_PNP_DISCONNECT, | |
31 | BCMFMAC_USB_PNP_SLEEP, | |
32 | BCMFMAC_USB_PNP_RESUME, | |
33 | }; | |
34 | ||
35 | struct brcmf_stats { | |
36 | u32 tx_errors; | |
37 | u32 tx_packets; | |
38 | u32 tx_multicast; | |
39 | u32 tx_ctlpkts; | |
40 | u32 tx_ctlerrs; | |
41 | u32 tx_dropped; | |
42 | u32 tx_flushed; | |
43 | u32 rx_errors; | |
44 | u32 rx_packets; | |
45 | u32 rx_multicast; | |
46 | u32 rx_ctlpkts; | |
47 | u32 rx_ctlerrs; | |
48 | u32 rx_dropped; | |
49 | u32 rx_flushed; | |
50 | ||
51 | }; | |
52 | ||
53 | struct brcmf_usb_attrib { | |
54 | int bustype; | |
55 | int vid; | |
56 | int pid; | |
57 | int devid; | |
58 | int chiprev; /* chip revsion number */ | |
59 | int mtu; | |
60 | int nchan; /* Data Channels */ | |
61 | int has_2nd_bulk_in_ep; | |
62 | }; | |
63 | ||
64 | struct brcmf_usbdev_info; | |
65 | ||
66 | struct brcmf_usbdev { | |
67 | struct brcmf_bus *bus; | |
68 | struct brcmf_usbdev_info *devinfo; | |
69 | enum brcmf_usb_state state; | |
70 | struct brcmf_stats stats; | |
71 | int ntxq, nrxq, rxsize; | |
72 | u32 bus_mtu; | |
73 | struct brcmf_usb_attrib attrib; | |
74 | }; | |
75 | ||
76 | /* IO Request Block (IRB) */ | |
77 | struct brcmf_usbreq { | |
78 | struct list_head list; | |
79 | struct brcmf_usbdev_info *devinfo; | |
80 | struct urb *urb; | |
81 | struct sk_buff *skb; | |
82 | }; | |
83 | ||
84 | #endif /* BRCMFMAC_USB_H */ |