diff options
author | Amitkumar Karwar <akarwar@marvell.com> | 2011-10-11 20:41:21 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-10-12 14:41:44 -0400 |
commit | d930faee141bd0a6a4873791996c5354c9a85ca7 (patch) | |
tree | c0ce085b87900d346cd3442cb1756aea060d416f /drivers/net/wireless/mwifiex/main.h | |
parent | ec205999d31bbb1208ab59c3b6d22c47cca74257 (diff) |
mwifiex: add support for Marvell pcie8766 chipset
This patch supports 88W8766P chipset with a PCIe interface.
The corresponding firmware image file is located at:
"mrvl/pcie8766_uapsta.bin"
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Ramesh Radhakrishnan <rramesh@marvell.com>
Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com>
Signed-off-by: Kiran Divekar <dkiran@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: Frank Huang <frankh@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/mwifiex/main.h')
-rw-r--r-- | drivers/net/wireless/mwifiex/main.h | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/drivers/net/wireless/mwifiex/main.h b/drivers/net/wireless/mwifiex/main.h index 907ab746dc4b..ec45607c5f91 100644 --- a/drivers/net/wireless/mwifiex/main.h +++ b/drivers/net/wireless/mwifiex/main.h | |||
@@ -37,6 +37,7 @@ | |||
37 | #include "ioctl.h" | 37 | #include "ioctl.h" |
38 | #include "util.h" | 38 | #include "util.h" |
39 | #include "fw.h" | 39 | #include "fw.h" |
40 | #include "pcie.h" | ||
40 | 41 | ||
41 | extern const char driver_version[]; | 42 | extern const char driver_version[]; |
42 | 43 | ||
@@ -107,6 +108,8 @@ enum { | |||
107 | 108 | ||
108 | #define MAX_FREQUENCY_BAND_BG 2484 | 109 | #define MAX_FREQUENCY_BAND_BG 2484 |
109 | 110 | ||
111 | #define MWIFIEX_EVENT_HEADER_LEN 4 | ||
112 | |||
110 | struct mwifiex_dbg { | 113 | struct mwifiex_dbg { |
111 | u32 num_cmd_host_to_card_failure; | 114 | u32 num_cmd_host_to_card_failure; |
112 | u32 num_cmd_sleep_cfm_host_to_card_failure; | 115 | u32 num_cmd_sleep_cfm_host_to_card_failure; |
@@ -156,6 +159,11 @@ enum MWIFIEX_PS_STATE { | |||
156 | PS_STATE_SLEEP | 159 | PS_STATE_SLEEP |
157 | }; | 160 | }; |
158 | 161 | ||
162 | enum mwifiex_iface_type { | ||
163 | MWIFIEX_SDIO, | ||
164 | MWIFIEX_PCIE, | ||
165 | }; | ||
166 | |||
159 | struct mwifiex_add_ba_param { | 167 | struct mwifiex_add_ba_param { |
160 | u32 tx_win_size; | 168 | u32 tx_win_size; |
161 | u32 rx_win_size; | 169 | u32 rx_win_size; |
@@ -517,27 +525,31 @@ struct cmd_ctrl_node { | |||
517 | struct mwifiex_if_ops { | 525 | struct mwifiex_if_ops { |
518 | int (*init_if) (struct mwifiex_adapter *); | 526 | int (*init_if) (struct mwifiex_adapter *); |
519 | void (*cleanup_if) (struct mwifiex_adapter *); | 527 | void (*cleanup_if) (struct mwifiex_adapter *); |
520 | int (*check_fw_status) (struct mwifiex_adapter *, u32, int *); | 528 | int (*check_fw_status) (struct mwifiex_adapter *, u32); |
521 | int (*prog_fw) (struct mwifiex_adapter *, struct mwifiex_fw_image *); | 529 | int (*prog_fw) (struct mwifiex_adapter *, struct mwifiex_fw_image *); |
522 | int (*register_dev) (struct mwifiex_adapter *); | 530 | int (*register_dev) (struct mwifiex_adapter *); |
523 | void (*unregister_dev) (struct mwifiex_adapter *); | 531 | void (*unregister_dev) (struct mwifiex_adapter *); |
524 | int (*enable_int) (struct mwifiex_adapter *); | 532 | int (*enable_int) (struct mwifiex_adapter *); |
525 | int (*process_int_status) (struct mwifiex_adapter *); | 533 | int (*process_int_status) (struct mwifiex_adapter *); |
526 | int (*host_to_card) (struct mwifiex_adapter *, u8, | 534 | int (*host_to_card) (struct mwifiex_adapter *, u8, struct sk_buff *, |
527 | u8 *payload, u32 pkt_len, | ||
528 | struct mwifiex_tx_param *); | 535 | struct mwifiex_tx_param *); |
529 | int (*wakeup) (struct mwifiex_adapter *); | 536 | int (*wakeup) (struct mwifiex_adapter *); |
530 | int (*wakeup_complete) (struct mwifiex_adapter *); | 537 | int (*wakeup_complete) (struct mwifiex_adapter *); |
531 | 538 | ||
539 | /* Interface specific functions */ | ||
532 | void (*update_mp_end_port) (struct mwifiex_adapter *, u16); | 540 | void (*update_mp_end_port) (struct mwifiex_adapter *, u16); |
533 | void (*cleanup_mpa_buf) (struct mwifiex_adapter *); | 541 | void (*cleanup_mpa_buf) (struct mwifiex_adapter *); |
542 | int (*cmdrsp_complete) (struct mwifiex_adapter *, struct sk_buff *); | ||
543 | int (*event_complete) (struct mwifiex_adapter *, struct sk_buff *); | ||
534 | }; | 544 | }; |
535 | 545 | ||
536 | struct mwifiex_adapter { | 546 | struct mwifiex_adapter { |
547 | u8 iface_type; | ||
537 | struct mwifiex_private *priv[MWIFIEX_MAX_BSS_NUM]; | 548 | struct mwifiex_private *priv[MWIFIEX_MAX_BSS_NUM]; |
538 | u8 priv_num; | 549 | u8 priv_num; |
539 | const struct firmware *firmware; | 550 | const struct firmware *firmware; |
540 | char fw_name[32]; | 551 | char fw_name[32]; |
552 | int winner; | ||
541 | struct device *dev; | 553 | struct device *dev; |
542 | bool surprise_removed; | 554 | bool surprise_removed; |
543 | u32 fw_release_number; | 555 | u32 fw_release_number; |
@@ -872,7 +884,7 @@ struct mwifiex_private *mwifiex_bss_index_to_priv(struct mwifiex_adapter | |||
872 | *adapter, u8 bss_index); | 884 | *adapter, u8 bss_index); |
873 | int mwifiex_init_shutdown_fw(struct mwifiex_private *priv, | 885 | int mwifiex_init_shutdown_fw(struct mwifiex_private *priv, |
874 | u32 func_init_shutdown); | 886 | u32 func_init_shutdown); |
875 | int mwifiex_add_card(void *, struct semaphore *, struct mwifiex_if_ops *); | 887 | int mwifiex_add_card(void *, struct semaphore *, struct mwifiex_if_ops *, u8); |
876 | int mwifiex_remove_card(struct mwifiex_adapter *, struct semaphore *); | 888 | int mwifiex_remove_card(struct mwifiex_adapter *, struct semaphore *); |
877 | 889 | ||
878 | void mwifiex_get_version(struct mwifiex_adapter *adapter, char *version, | 890 | void mwifiex_get_version(struct mwifiex_adapter *adapter, char *version, |