Hi John, This is a big pull request intended for 3.6 that contains a new mac80211-based driver for Texas Instruments' WiLink8 chip family[1]. The new driver is based on the existing wlcore module that is already used by the wl12xx driver, and implements mostly the hardware-specific parts and new features. There is a bunch of fixes and small improvements in the wl12xx and wlcore modules as well, but the vast majority of patches are the actual inclusion of the new driver or changes in wlcore and wl12xx that are related to it. Thanks a lot to Arik Nemtsov for all the effort and help in putting the wl18xx together! Thanks to Assaf Azulay also for all the behind-the-scenes work needed to make this possible! Please pull or let me know if there's any problem. Cheers, Luca. [1] http://www.ti.com/ww/en/wtbu/wilink8/ The following changes since commit 2eb278e083549f4eb29838037004054b3b55df62: mac80211: unify SW/offload remain-on-channel (2012-06-06 15:31:18 -0400) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx.git for-linville for you to fetch changes up to bf34e68352ac9f8deae3e78c2825ac9fe373e73e: Merge branch 'wl12xx-next' into for-linville (2012-06-08 16:43:19 +0300) ---------------------------------------------------------------- Arik Nemtsov (42): wl18xx: create per-chip-family private storage wl18xx: set the number of Tx descriptors wl18xx: set normal/GEM Tx spare block counts wl18xx: implement hw op for calculating hw block count per packet wl18xx: implement hw op for setting blocks in hw_tx_desc wl18xx: implement hw op for setting frame length in tx_hw_desc wl18xx: define HW-rate translation elements/tables wl18xx: add fw_status private data wl18xx: set Rx block-size alignment quirk wl18xx: implement hw op for getting rx buffer data alignment wl18xx: implement hw op for getting rx packet data length wl18xx: implement immediate Tx completion wlcore/wl18xx: add hw op for setting Tx HW checksum wlcore/wl18xx: add hw op for Rx HW checksum wlcore: track current channel type per vif wl18xx: send channel type to FW on role start wl18xx: ipmlement ap_rate_mask hw op wlcore: support peer MIMO rates wlcore/wl18xx: enable MIMO/wide-chan rates in AP-mode rate config wl18xx: set HT capabilities wl18xx: add module param for overriding HT caps wl18xx: read FW pc on recovery wl18xx: disable FW log functionality wl18xx: implement hw op to read PG version wl18xx: init Tx-released index to 0 on HW init wl18xx: don't upload NVS to FW wl18xx: change board type enum according to new FW wlcore/wl12xx/18xx: split fw_status struct into two wlcore: fix sparse warnings related to static functions wlcore: fix dynamic_ps_timeout time regression wlcore: fixes for connection_loss_work wl18xx: add dependency on mac80211 wlcore: remove duplicate BUG_ON during recovery wlcore/wl12xx/wl18xx: introduce quirk to remove TKIP header space wlcore/wl12xx/wl18xx: handle spare blocks spacial cases per arch wlcore: add stop reason bitmap for waking/starting queues wlcore: stop queues on Tx flush wlcore/wl12xx/wl18xx: implement op_set_key per HW arch wl18xx: allow FW-log by default for PG2.0 wl18xx: align wl18xx_conf_phy with FW variant and remove it wl18xx: clean up phy module parameters wlcore/wl12xx/wl18xx: make NVS file optional for wl18xx Assaf Azulay (2): wl18xx: change default tcp_checksum to false wlcore: increase number of BA sessions to 3 Eliad Peller (9): wlcore: use the original elp time in forced_ps mode wlcore: use correct link for bcast/multicast frames wlcore: flush before stopping AP wlcore: set wl->ht_cap per-band wlcore: flush tx on CHANGE_CHANNEL wlcore: increase WL1271_EVENT_TIMEOUT wl12xx: send beacon loss events to userspace wl12xx/wl18xx: add erp protection IE to the beacon filter wlcore: compare ssid_len before comparing ssids Eyal Shapira (2): wlcore: add support macros to easily add conf debugfs entries wlcore: add debugfs control over rx interrupt pacing Grant Erickson (1): wl12xx: Add support for an external 26 MHz crystal source Ido Reis (6): wl18xx: fix PHY_INIT addresses mem size wl18xx: support PG2 version of the chip wl18xx: FW/PHY arguments added for PG2 wl18xx: PG2.0 HW Watch dog interrupt support wl18xx: pad only last frame in aggregration buffer for PG2 wl18xx: update fw statistics Igal Chernobelsky (1): wlcore: modify bss loss parameters Luciano Coelho (58): wl18xx: add new module wlcore_sdio/wl18xx: use SDIO revision number to identify wl18xx chips wl18xx: add empty operations struct wl18xx: add partition table wl18xx: add register table wl18xx: add identify chip operation wl18xx: add some boot operations and hw-specific configurations wl18xx: add trigger command and ack event operations wl18xx: add hw_init operation wl18xx: add runtime configuration parameters wl18xx: add board type module argument wl18xx: translate and write the board type to SCR_PAD2 wl18xx: read clock frequency and do top init accordingly wlcore: rename wl12xx.h to wlcore_i.h wlcore/wl12xx: move ref_clock and tcxo_clock elements to wl12xx wlcore/wl12xx: move rx_mem_pool_addr element to wl12xx wlcore/wl12xx: add plt_init op and move the code to wl12xx wl18xx: add plt_init operation wl18xx: change the low_band_component_type for HDK boards wl18xx: add number of antennas and dc2dc type as module params wl18xx: add module parameter to disable TCP checksum wl18xx: derive the MAC address from the BD_ADDR in fuse ROM wl18xx: add a module parameter to control 11a support wlcore: add module parameter to dump SDIO reads and writes wl18xx: copy the default configuration before checking the board_type wl18xx: changed default board_type to HDK wlcore: add space for private area when allocating fw_status wl18xx: change low_band_component_type value for COM8 wlcore: reorder identify_chip and get_hw_info wl18xx: disable MCS_13 for wl18xx PG 1.0 wlcore: update beacon and probe_resp templates when rates change wlcore: use all AP basic rates as default wlcore: abstract debugfs fw_stats to be handled by the lower drivers wlcore: add debugfs macro to help print fw statistics arrays wl12xx: implement fw status debugfs entries wl18xx: implement fw status debugfs entries wlcore: create private static_data area and add operation to parse it wl18xx: print the PHY firmware version from the private static data wlcore: print the interrupt status when recovery is triggered wl18xx: don't use MIMO when ht_mode is set to wide wlcore: use proper values for supported local rates wl18xx: add module parameter to force SISO 20MHz wl18xx: add power limit reference value to mac_and_phy settings wl18xx: export low/high band component values as module params wl18xx: export pwr_limit_reference_11_abg value as a module parameter wlcore/wl12xx/wl18xx: move lower driver debugfs to a subdir wlcore: increase aggregation buffer size by one page wl18xx: increase tx_ba_win_size to 64 wl18xx: use new fw stats structures wlcore/wl12xx/wl18xx: don't use TX align quirk for wl127x wl18xx: add support to clear FW statistics wlcore: export raw binary with the FW statistics in debugfs wlcore/wl18xx/wl12xx: use u8 instead of bool for host_fast_wakeup_support wlcore: use u8 instead of enum for bcn_filt_mode wlcore/wl18xx: the conf structs must be packed so they can be exported wlcore/wl18xx: export conf struct in a debugfs file wl18xx: read configuration structure from a binary file Merge branch 'wl12xx-next' into for-linville Victor Goldenshtein (5): wl12xx: fix fm_coex parameters configuration wl18xx: fix fm_coex parameters configuration wlcore: don't enable BET for high basic rates wlcore: wait for roc complete only for the first roc command wlcore: set channels 12-14 as pactive for sched scan Yoni Divinsky (5): wlcore: use psd_type indexing according to spec wl12xx: set the irq polarity before loading the fw wlcore: fix the CONF_TX_AC_ANY_TID to be 0xff wlcore: do not send stop fwlog cmd if fw is hanged wlcore: add role_id to all the sched_scan commands drivers/net/wireless/ti/Kconfig | 1 + drivers/net/wireless/ti/Makefile | 1 + drivers/net/wireless/ti/wl12xx/Makefile | 2 +- drivers/net/wireless/ti/wl12xx/acx.h | 237 ++++++++ drivers/net/wireless/ti/wl12xx/cmd.c | 8 +- drivers/net/wireless/ti/wl12xx/debugfs.c | 243 ++++++++ drivers/net/wireless/ti/wl12xx/debugfs.h | 28 + drivers/net/wireless/ti/wl12xx/main.c | 242 ++++++-- drivers/net/wireless/ti/wl12xx/wl12xx.h | 8 + drivers/net/wireless/ti/wl18xx/Kconfig | 7 + drivers/net/wireless/ti/wl18xx/Makefile | 3 + drivers/net/wireless/ti/wl18xx/acx.c | 111 ++++ drivers/net/wireless/ti/wl18xx/acx.h | 291 +++++++++ drivers/net/wireless/ti/wl18xx/conf.h | 92 +++ drivers/net/wireless/ti/wl18xx/debugfs.c | 403 +++++++++++++ drivers/net/wireless/ti/wl18xx/debugfs.h | 28 + drivers/net/wireless/ti/wl18xx/io.c | 60 ++ drivers/net/wireless/ti/wl18xx/io.h | 28 + drivers/net/wireless/ti/wl18xx/main.c | 1462 +++++++++++++++++++++++++++++++++++++++++++++ drivers/net/wireless/ti/wl18xx/reg.h | 191 ++++++ drivers/net/wireless/ti/wl18xx/tx.c | 127 ++++ drivers/net/wireless/ti/wl18xx/tx.h | 46 ++ drivers/net/wireless/ti/wl18xx/wl18xx.h | 88 +++ drivers/net/wireless/ti/wlcore/acx.c | 8 +- drivers/net/wireless/ti/wlcore/acx.h | 254 +------- drivers/net/wireless/ti/wlcore/boot.c | 57 +- drivers/net/wireless/ti/wlcore/boot.h | 1 + drivers/net/wireless/ti/wlcore/cmd.c | 62 +- drivers/net/wireless/ti/wlcore/cmd.h | 13 +- drivers/net/wireless/ti/wlcore/conf.h | 93 ++- drivers/net/wireless/ti/wlcore/debugfs.c | 390 ++++-------- drivers/net/wireless/ti/wlcore/debugfs.h | 87 +++ drivers/net/wireless/ti/wlcore/event.c | 24 +- drivers/net/wireless/ti/wlcore/hw_ops.h | 78 +++ drivers/net/wireless/ti/wlcore/init.c | 3 + drivers/net/wireless/ti/wlcore/main.c | 504 ++++++++-------- drivers/net/wireless/ti/wlcore/ps.c | 21 +- drivers/net/wireless/ti/wlcore/rx.c | 11 +- drivers/net/wireless/ti/wlcore/rx.h | 7 +- drivers/net/wireless/ti/wlcore/scan.c | 52 +- drivers/net/wireless/ti/wlcore/scan.h | 19 +- drivers/net/wireless/ti/wlcore/sdio.c | 35 +- drivers/net/wireless/ti/wlcore/tx.c | 185 ++++-- drivers/net/wireless/ti/wlcore/tx.h | 49 +- drivers/net/wireless/ti/wlcore/wlcore.h | 70 ++- drivers/net/wireless/ti/wlcore/{wl12xx.h => wlcore_i.h} | 44 +- 46 files changed, 4818 insertions(+), 956 deletions(-) create mode 100644 drivers/net/wireless/ti/wl12xx/debugfs.c create mode 100644 drivers/net/wireless/ti/wl12xx/debugfs.h create mode 100644 drivers/net/wireless/ti/wl18xx/Kconfig create mode 100644 drivers/net/wireless/ti/wl18xx/Makefile create mode 100644 drivers/net/wireless/ti/wl18xx/acx.c create mode 100644 drivers/net/wireless/ti/wl18xx/acx.h create mode 100644 drivers/net/wireless/ti/wl18xx/conf.h create mode 100644 drivers/net/wireless/ti/wl18xx/debugfs.c create mode 100644 drivers/net/wireless/ti/wl18xx/debugfs.h create mode 100644 drivers/net/wireless/ti/wl18xx/io.c create mode 100644 drivers/net/wireless/ti/wl18xx/io.h create mode 100644 drivers/net/wireless/ti/wl18xx/main.c create mode 100644 drivers/net/wireless/ti/wl18xx/reg.h create mode 100644 drivers/net/wireless/ti/wl18xx/tx.c create mode 100644 drivers/net/wireless/ti/wl18xx/tx.h create mode 100644 drivers/net/wireless/ti/wl18xx/wl18xx.h rename drivers/net/wireless/ti/wlcore/{wl12xx.h => wlcore_i.h} (95%) -- Cheers, Luca.
Attachment:
signature.asc
Description: This is a digitally signed message part