summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ath6kl: add htc opsKalle Valo2012-03-2610-55/+219
| | | | | | | | | | | | | In preparation for adding HTC pipe implementation add htc-ops.h to make it possible dynamically choose which HTC type is used. Needed for full USB support. Based on the code by Ray Chen <raychen@qca.qualcomm.com>. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com> Signed-off-by: Ray Chen <raychen@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
* ath6kl: remove void pointer from ath6kl_credit_setup()Kalle Valo2012-03-262-3/+3
| | | | | | Void pointers are bad. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
* ath6kl: add rx data padding supportKalle Valo2012-03-262-0/+10
| | | | | | Needed when using USB. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
* ath6kl: add pointer to the skb in htc_packetKalle Valo2012-03-262-0/+13
| | | | | | Needed by the USB code. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
* ath6kl: add tx_comp_multi() to struct htc_ep_callbacksKalle Valo2012-03-262-0/+2
| | | | | | It's also needed by the USB code. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
* ath6kl: Add tx_complete() to struct htc_ep_callbacksKalle Valo2012-03-264-4/+7
| | | | | | | This is needed by the USB code. Also while at it replace one void pointer with a properly typed pointer. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
* ath6kl: set ram reserved size only for ar6003Kalle Valo2012-03-261-10/+12
| | | | | | Ram reserved size is not needed with ar6004. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
* ath6kl: Configure inactivity timeout in fwVasanthakumar Thiagarajan2012-03-264-0/+41
| | | | | | | | | | | | | Configure the inactivity timeout passed in start_ap() to firmware. This capability is advertised only when fw supports it, there is a new bit (ATH6KL_FW_CAPABILITY_INACTIVITY_TIMEOUT) in firmware capability ie for driver to learn fw's capability. After the fw finds out the station is inactive, it will probe the station with null func frames. By default, the timeout is 10 secs. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
* Merge remote branch 'wireless-next/master' into ath6kl-nextKalle Valo2012-03-26226-7668/+8842
|\
| * libertas: remove dump_survey implementationDaniel Drake2012-03-151-37/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libertas provides a dump_survey implementation based on reading of a RSSI value. However, this RSSI value is calculated based on the last received beacon from the associated AP - it is not a good way of surveying a channel in general, and even causes an error if the card is not associated to a network. As this is not appropriate as a survey, remove it. This fixes an issue where something in userspace is repeatedly calling site-survey during boot, resulting in many repeated errors as the RSSI value cannot be read before associating. Signed-off-by: Daniel Drake <dsd@laptop.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k_hw: remove unused initvalsFelix Fietkau2012-03-151-302/+0
| | | | | | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k: inline AR9271 1.0 INI overridesFelix Fietkau2012-03-155-13/+6
| | | | | | | | | | | | | | Makes them more readable and reduces code size Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k_hw: remove iniModes_*_tx_gain_9271Felix Fietkau2012-03-153-26/+19
| | | | | | | | | | | | | | Program tx gain through iniModesTxGain like on AR9287 Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k_hw: clean up iniModesAdditionalFelix Fietkau2012-03-155-30/+22
| | | | | | | | | | | | | | | | use iniModesFastClock for 5 ghz fast clock specific settings, and iniAdditional for clock/chip specific initval overrides Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k_hw: fix AR9380 register settings for channel 14Felix Fietkau2012-03-151-0/+3
| | | | | | | | | | | | | | Program the ah->ini_japan2484 INI values which were left out by accident Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k_hw: fold ar9002_hw_cck_chan14_spread into mode regs initializationFelix Fietkau2012-03-153-9/+0
| | | | | | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k_hw: remove iniCommon_*_cck_fir_coeff_9271Felix Fietkau2012-03-152-8/+0
| | | | | | | | | | | | | | These arrays are unused Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k_hw: clean up ath9k_hw_setuprxdescFelix Fietkau2012-03-151-4/+1
| | | | | | | | | | | | | | | | | | The ATH9K_HW_CAP_AUTOSLEEP check is bogus, the rx status area needs to be cleared on all non-EDMA PCI/AHB based chipsets anyway. Limit the memset to the rx status area to improve performance. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k_hw: remove ath9k_hw_gettxintrtxqsFelix Fietkau2012-03-153-11/+2
| | | | | | | | | | | | | | The driver can just check the mask directly Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k: optimize register access functionsFelix Fietkau2012-03-152-4/+4
| | | | | | | | | | | | | | | | By checking for NR_CPUS, the compiler can optimize out register access serialization code on non-SMP kernels Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k_hw: remove ath9k_hw_getdefantennaFelix Fietkau2012-03-153-8/+0
| | | | | | | | | | | | | | The default antenna (as programmed by the INI file) is always 0 anyway. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k_hw: remove ath9k_hw_htc_resetinitFelix Fietkau2012-03-153-10/+2
| | | | | | | | | | | | | | Automatically set the ah->htc_reset_init on init and after PHY disable. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k_hw: clean up tx completion interrupt handlingFelix Fietkau2012-03-153-8/+5
| | | | | | | | | | | | | | | | | | TXQ_FLAG_TXOKINT_ENABLE and TXQ_FLAG_TXERRINT_ENABLE are always set and used together, and they share the same bitmask in enum ath9k_tx_queue_flags. Simplify the code that tests for these flags. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k_hw: simplify tx queue interrupt mask handlingFelix Fietkau2012-03-151-15/+11
| | | | | | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mac80211: make uapsd_* keys per-vifEliad Peller2012-03-156-102/+79
| | | | | | | | | | | | | | | | | | | | | | uapsd_queues and uapsd_max_sp_len are relevant only for managed interfaces, and can be configured differently for each vif. Move them from the local struct to sdata->u.mgd, and update the debugfs functions accordingly. Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mac80211: add NULL terminator to debugfs_netdev write bufEliad Peller2012-03-151-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | Some debugfs write functions call kstrto* functions, which assume the string is null-terminated. Make it valid by changing ieee80211_if_write() to use static buffer instead of allocating one, and set the last char to NULL. (The write functions try to parse some integer/mac address, so 64 bytes buffer should be enough) Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mac80211: Don't sample max throughput rate in minstrel_htHelmut Schaa2012-03-151-0/+7
| | | | | | | | | | | | | | | | | | | | | | The current max throughput rate is known to be good as otherwise it wouldn't be the max throughput rate. Since rate sampling can introduce some overhead (by adding RTS for example or due to not aggregating the frame) don't sample the max throughput rate. Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com> Acked-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rt2x00: rt2800usb: limit tx queues lengthStanislaw Gruszka2012-03-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TX status fifo is limited to 16 elements. When we send more frames than that, we can easily loose status, what is not good for rate scaling algorithm. On my testing the change does not degrade performance, actually make is slightly better. Additionally with the patch I can see much less various rt2x00 warnings in dmesg. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Acked-by: Gertjan van Wingerde <gwingerde@gmail.com> Acked-by: Helmut Schaa <helmut.schaa@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rt2x00: rt2800usb: do not check packedid for aggregated framesStanislaw Gruszka2012-03-151-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | Tx statuses of aggregated subframes contain packetid of first subframe in the AMPDU. We can not identify AMPDU subframes based on packedid, so simply assume that status match first pending frame in the queue. Thats mostly the same what 2800pci do. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Acked-by: Gertjan van Wingerde <gwingerde@gmail.com> Acked-by: Helmut Schaa <helmut.schaa@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rt2x00: rt2800usb: rework txstatus codeStanislaw Gruszka2012-03-155-64/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we read tx status register after each urb data transfer. As callback procedure also trigger reading, that causing we have many "threads" of reading status. To prevent that introduce TX_STATUS_READING flags, and check if we are already in process of sequential reading TX_STA_FIFO, before requesting new reads. Change timer to hrtimer, that make TX_STA_FIFO overruns less possible. Use 200 us for initial timeout, and then reschedule in 100 us period, this values probably have to be tuned. Make changes on txdone work. Schedule it from rt2800usb_tx_sta_fifo_read_completed() callback when first valid status show up. Check in callback if tx status timeout happens, and schedule work on that condition too. That make possible to remove tx status timeout from generic watchdog. I moved that to rt2800usb. Loop in txdone work, that should prevent situation when we queue work, which is already processed, and after finish work is not rescheduled again. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rt2x00: rt2800usb: rework txdone codeStanislaw Gruszka2012-03-151-41/+31
| | | | | | | | | | | | | | | | | | | | | | | | Patch change txdone code to make it similar like txdone in rt2800pci, process only one entry from queue matching tx status. Before we processed all pending entries from queue until PACKEDID match, that caused that we do not report tx statuses correctly. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Acked-by: Gertjan van Wingerde <gwingerde@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rt2x00: rt2800usb: move additional txdone into new functionStanislaw Gruszka2012-03-151-5/+11
| | | | | | | | | | | | Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Acked-by: Gertjan van Wingerde <gwingerde@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k: Fix multi-VIF BSS handlingSujith Manoharan2012-03-155-34/+14
| | | | | | | | | | | | | | | | | | | | mac80211 provides short preamble information and ERP protection information on a per-BSS basis, which can be used. Remove flags stored in the driver, which was incorrect since they were being used in a global manner. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k: Remove aggregation flagsSujith Manoharan2012-03-155-46/+29
| | | | | | | | | | | | | | | | SC_OP_TXAGGR and SC_OP_RXAGGR are not really needed. The HT capabilities of the station and HW can be used instead. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k_hw: Cleanup FastChannelChangeSujith Manoharan2012-03-153-36/+74
| | | | | | | | | | | | | | | | | | The logic to determine whether to use FCC is a bit convoluted. Use a small helper function to decide whether FCC is to be used. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k: Remove 'other' VIF countSujith Manoharan2012-03-153-4/+2
| | | | | | | | | | | | | | | | It is not needed and will not be used anyway since unsupported interfaces are not allowed to be created. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k: Remove unused variablesSujith Manoharan2012-03-152-6/+0
| | | | | | | | | | Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k: Remove unnecessary initializationSujith Manoharan2012-03-151-3/+0
| | | | | | | | | | | | | | | | There is no need to mask out SWBA/BMISS from the interrupt mask in start(). Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rt2x00: Set IEEE80211_HW_REPORTS_TX_ACK_STATUS in rt2800Helmut Schaa2012-03-151-1/+3
| | | | | | | | | | | | | | | | | | | | rt2800 already reports the tx ack status of each frame back to mac80211. Advertise this by setting IEEE80211_HW_REPORTS_TX_ACK_STATUS for rt2800. This allows some mac80211 features like frame loss notifications to work with rt2800. Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mwifiex: correction in structure name passed to sizeof()Amitkumar Karwar2012-03-141-1/+1
| | | | | | | | | | | | | | | | | | "hscfg" is declared as struct mwifiex_ds_hs_cfg. Use same structure name for calculating it's size. Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mwifiex: fix checkpatch --strict warnings/errors Part 9Yogesh Ashok Powar2012-03-145-95/+94
| | | | | | | | | | | | | | | | For files sta_rx.c, sta_tx.c, txrx.c, util.c and wmm.c Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mwifiex: fix checkpatch --strict warnings/errors Part 8Yogesh Ashok Powar2012-03-142-70/+73
| | | | | | | | | | | | | | | | For files sta_event.c and sta_ioctl.c Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mwifiex: fix checkpatch --strict warnings/errors Part 7Yogesh Ashok Powar2012-03-142-121/+114
| | | | | | | | | | | | | | | | For sta_cmd.c and sta_cmdresp.c Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mwifiex: fix checkpatch --strict warnings/errors Part 6Yogesh Ashok Powar2012-03-141-92/+96
| | | | | | | | | | | | | | | | For file sdio.c Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mwifiex: fix checkpatch --strict warnings/errors Part 5Yogesh Ashok Powar2012-03-141-173/+170
| | | | | | | | | | | | | | | | For file scan.c Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mwifiex: fix checkpatch --strict warnings/errors Part 4Yogesh Ashok Powar2012-03-143-211/+226
| | | | | | | | | | | | | | | | For files main.c, main.h and pcie.c Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mwifiex: fix checkpatch --strict warnings/errors Part 3Yogesh Ashok Powar2012-03-143-101/+98
| | | | | | | | | | | | | | | | For files fw.h, init.c and join.c Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mwifiex: fix checkpatch --strict warnings/errors Part 2Yogesh Ashok Powar2012-03-143-127/+133
| | | | | | | | | | | | | | | | For files cfg80211.c, cfp.c, and cmdevt.c Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mwifiex: fix checkpatch --strict warnings/errors Part 1Yogesh Ashok Powar2012-03-144-43/+43
| | | | | | | | | | | | | | | | For files 11n.c, 11n.h, 11n_aggr.c, 11n_rxreorder.c Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mac80211: Don't let regulatory make us deafPaul Stewart2012-03-134-19/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When regulatory information changes our HT behavior (e.g, when we get a country code from the AP we have just associated with), we should use this information to change the power with which we transmit, and what channels we transmit. Sometimes the channel parameters we derive from regulatory information contradicts the parameters we used in association. For example, we could have associated specifying HT40, but the regulatory rules we apply may forbid HT40 operation. In the situation above, we should reconfigure ourselves to transmit in HT20 only, however it makes no sense for us to disable receive in HT40, since if we associated with these parameters, the AP has every reason to expect we can and will receive packets this way. The code in mac80211 does not have the capability of sending the appropriate action frames to signal a change in HT behaviour so the AP has no clue we can no longer receive frames encoded this way. In some broken AP implementations, this can leave us effectively deaf if the AP never retries in lower HT rates. This change breaks up the channel_type parameter in the ieee80211_enable_ht function into a separate receive and transmit part. It honors the channel flags set by regulatory in order to configure the rate control algorithm, but uses the capability flags to configure the channel on the radio, since these were used in association to set the AP's transmit rate. Signed-off-by: Paul Stewart <pstew@chromium.org> Cc: Sam Leffler <sleffler@chromium.org> Cc: Johannes Berg <johannes@sipsolutions.net> Reviewed-by: Luis R Rodriguez <mcgrof@frijolero.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>