summaryrefslogtreecommitdiffstats
path: root/drivers
Commit message (Collapse)AuthorAgeFilesLines
* ath9k: move driver keymap, keymax and splitmic to commonLuis R. Rodriguez2009-11-114-80/+85
| | | | | | | This will make sharing code easier between ath9k and ath9k_htc. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: rename ath_rx_prepare() to ath9k_rx_skb_preprocess()Luis R. Rodriguez2009-11-111-10/+10
| | | | | | | And change the return value to something more obvious. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: move the max rx buffer size check to ath9k_rx_accept()Luis R. Rodriguez2009-11-111-4/+7
| | | | | | | | While at it flip the order, seems easier to read and also add some better description as to why we do this check. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath5k: remove double cache alignment, ath_rxbuf_alloc() already does itLuis R. Rodriguez2009-11-111-2/+2
| | | | | | | | ath5k is using the (csz - 1) twice as ath_rxbuf_alloc() already allocates and moves skb->data accordingly. Remove the extra (csz -1). Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath: move the rx bufsize to common to share with ath5k/ath9kLuis R. Rodriguez2009-11-114-24/+36
| | | | | | | This will also be used by ath9k_htc. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: move the rx_stats->rs_datalen check to ath9k_rx_accept()Luis R. Rodriguez2009-11-111-3/+3
| | | | | Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: avoid the copy skb->cb on every RX'd skbLuis R. Rodriguez2009-11-111-22/+16
| | | | | | | | | | | | | | | | The skb->cb (control buffer, 48 bytes) is available to the skb upon skb allocation. You can fill it up imediately after skb allocation. ath9k was copying onto the skb->cb the data from the processed skb for mac80211 from a stack struct ieee80211_rx_status structure. This is unnecessary, instead use the skb->cb for the rx status immediately after the skb becomes available and DMA synched. Additionally, avoid the copy of the skb->cb also for virtual wiphys as skb_copy() will copy over the skb->cb for us as well. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: move rssi processing into a helperLuis R. Rodriguez2009-11-111-17/+27
| | | | | | | | | This moves all the RX processing of RSSI into a helper, ath_rx_prepare(). ath_rx_prepare() should now be really easy to read and follow. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: move qual processing into a helperLuis R. Rodriguez2009-11-111-32/+42
| | | | | | | | This moves the qual computing into a small helper, ath9k_compute_qual() Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: move rate descriptor reading into a helperLuis R. Rodriguez2009-11-111-29/+43
| | | | | | | | | ath9k_process_rate() now does all the rx status processing to read the rate the hardware passed and translate it to whatever mac80211 wants. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: remove temp variable ratecode from ath_rx_prepare()Luis R. Rodriguez2009-11-111-5/+2
| | | | | | | | Its just a distraction when reading the code, instead use the rx_stats->rs_rate directly. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: move RX check code into helper ath9k_rx_accept()Luis R. Rodriguez2009-11-111-22/+41
| | | | | | | | This does sanity checking on the skb and RX status descriptor prior to processing. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: use the ieee80211_hw to get to an sband on ath_rx_prepare()Luis R. Rodriguez2009-11-111-19/+20
| | | | | | | | | | | No need to use the private driver structure to get to an sband. This will make it easier to share this code with ath9k_htc. With the sc gone we can now just pass the common structure to ath_rx_prepare(). Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: move struct ath_ani to common areaLuis R. Rodriguez2009-11-114-40/+42
| | | | | | | | This can be shared between ath9k and ath9k_htc. It will also help with sharing routine helpers on the RX path. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k_hw: move ath_extend_tsf() to hw code to share as ath9k_hw_extend_tsf()Luis R. Rodriguez2009-11-113-15/+17
| | | | | | | This will be shared between ath9k and ath9k_htc. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: do not pass the entire descriptor to ath_rx_prepare()Luis R. Rodriguez2009-11-111-34/+36
| | | | | | | | | | Its not needed, so just pass the hardware RX status. We'll be simplfying ath_rx_prepare() with code we can share between ath9k and ath9k_htc. This will help make that code easier to read and manage. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: handle low buffer space for virtual wiphysLuis R. Rodriguez2009-11-113-5/+60
| | | | | | | | | | | | | | | | | | | ath9k virtual wiphys all share the same internal buffer space for TX but they do not share the mac80211 skb queues. When ath9k detects it is running low on buffer space to TX it tells mac80211 to stop sending it skbs its way but it always does this only for the primary wiphy. This means mac80211 won't know its best to avoid sending ath9k more skbs on a separate virtual wiphy. The same issue is present for reliving the skb queue. Since ath9k does not keep track of which virtual wiphy is hammering on TX silence all wiphy's TX when we're low on buffer space. When we're free on buffer space only bother informing the virtual wiphy which is active that we have free buffers. Cc: Jouni.Malinen <Jouni.Malinen@atheros.com> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: use the right hw on ath_tx_setup_buffer() for HTLuis R. Rodriguez2009-11-111-1/+1
| | | | | | | | | When using virtual wiphys the base sc->hw was being used, the correct hw is passed along the caller already so just use that. Cc: Jouni.Malinen <Jouni.Malinen@atheros.com> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: use correct hw for tx aggregation TX completionLuis R. Rodriguez2009-11-111-1/+8
| | | | | | | | | | | When ath9k virtual wiphys are used the sc->hw will not always represent the active hw, instead we need to get it from the skb->cb private driver area. This ensures the right hw is used to find a sta for the TX'd skb. Cc: Jouni.Malinen <Jouni.Malinen@atheros.com> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: pass the ieee80211_hw on radio enable/disableLuis R. Rodriguez2009-11-113-13/+15
| | | | | | | | | | | | | | | | | We use the ieee80211_hw for radio enable/disable but the wrong structure hw was being used in consideration for virtual wiphys as each virtual wiphy has its own ieee80211_hw struct. Just pass the hw struct to ensure we use the right one. This should fix the hw used and passed for radio enable/disable. This includes the stoping / starting of the software TX queues so mac80211 doesn't send us data for a specific virtual wiphy. ath9k already takes care of pausing virtual wiphys and stopping the respective queues on its own, but this should handle the idle mac80211 conf calls as well. Cc: Jouni.Malinen <Jouni.Malinen@atheros.com> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: use the passed ieee80211_hw on ath_rx_prepare()Luis R. Rodriguez2009-11-111-1/+1
| | | | | | | | | | | | this now uses the proper hw which should mean finding the right sta when using ath9k virtual wiphy stuff. Only advantage I see here is getting the rssi properly updated so the 'fix' itself isn't that great, but at least this is correct. Cc: Jouni.Malinen <Jouni.Malinen@atheros.com> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: simpify RX by calling ath_get_virt_hw() onceLuis R. Rodriguez2009-11-111-10/+18
| | | | | | | | | | ath_get_virt_hw() is required on RX to determine for which virtual wiphy an skb came in for. Instead of searching for the hw twice do it only once. Cc: Jouni.Malinen <Jouni.Malinen@atheros.com> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: update hw configuration for virtual wiphysLuis R. Rodriguez2009-11-111-0/+5
| | | | | | | | | | | ath9k supports its own virtual wiphys. The hardware code relies on the ieee80211_hw for the present interface but with recent changes introduced the common->hw was never updated and is required for virtual wiphys. Cc: Jouni.Malinen <Jouni.Malinen@atheros.com> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: fix listening to idle requestsLuis R. Rodriguez2009-11-113-10/+42
| | | | | | | | | | | | | | | | | | | | | | | | The way idle configuration detection was implemented as busted due to the fact that it assumed the ath9k virtual wiphy, the aphy, would be marked as inactive if it was not used but it turns out an aphy is always active if its the only wiphy present. We need to distinguish between aphy activity and idleness so we now add an idle bool for the aphy and mark it as such based on the passed IEEE80211_CONF_CHANGE_IDLE from mac80211. Previous to all_wiphys_idle would never be true when using only one device so we never really were using IEEE80211_CONF_CHANGE_IDLE -- we never turned the radio off or on upon IEEE80211_CONF_CHANGE_IDLE changes as radio changes depended on all_wiphys_idle being true either to turn the radio on or off. Since it was always false for one device this code was doing nothing. Cc: Jouni.Malinen <Jouni.Malinen@atheros.com> Reported-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: Fix building of rt2800lib when rt2x00 driver is built-in.Gertjan van Wingerde2009-11-111-0/+2
| | | | | | | | | | | When enabling rt2800usb as a built-in driver (as opposed to a as a module) the build fails. See http://marc.info/?l=linux-wireless&m=125768687711034&w=2 for details. Fix it by properly including <linux/usb.h> from rt2x00usb.h Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com> Acked-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rt2x00: Move interface type assignments to generic code.Gertjan van Wingerde2009-11-115-4/+9
| | | | | | | | | | Make sure all drivers can benefit of the assignment of the interface type of an adapter, instead of keeping it for rt2800 only. Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com> Acked-by: Ivo van Doorn <IvDoorn@gmail.com> Acked-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* drivers/net/wireless: correct check on CCS_START_NETWORKJulia Lawall2009-11-111-1/+1
| | | | | | | | | | | | CCS_START_NETWORK is declared in drivers/net/wireless/rayctl.h with the comment Values for cmd. status is previously compared to CCS_COMMAND_COMPLETE, which is declared in the same file with the comment Values for buffer_status. Finally, it is possible at this point that cmd is CCS_START_NETWORK, because it is compared to that value in an enclosing switch that has CCS_START_NETWORK as one of two case labels around this code. Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* zd1211rw: declare MODULE_FIRMWAREBen Hutchings2009-11-111-0/+7
| | | | | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* zd1201: declare MODULE_FIRMWAREBen Hutchings2009-11-111-0/+3
| | | | | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* wl12xx: declare MODULE_FIRMWAREBen Hutchings2009-11-112-0/+2
| | | | | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* prism54: declare MODULE_FIRMWAREBen Hutchings2009-11-111-0/+3
| | | | | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* orinoco: declare MODULE_FIRMWAREBen Hutchings2009-11-111-0/+6
| | | | | | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Pavel Roskin <proski@gnu.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mwl8k: declare MODULE_FIRMWAREBen Hutchings2009-11-111-0/+3
| | | | | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas_tf_usb: declare MODULE_FIRMWAREBen Hutchings2009-11-111-0/+2
| | | | | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: declare MODULE_FIRMWAREBen Hutchings2009-11-114-0/+13
| | | | | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* iwmc3200wifi: declare MODULE_FIRMWAREBen Hutchings2009-11-111-0/+3
| | | | | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ipw2200: declare MODULE_FIRMWAREBen Hutchings2009-11-111-0/+5
| | | | | | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Acked-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ipw2100: declare MODULE_FIRMWAREBen Hutchings2009-11-111-0/+6
| | | | | | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Acked-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* atmel: declare MODULE_FIRMWAREBen Hutchings2009-11-111-0/+16
| | | | | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* at76c50x-usb: declare MODULE_FIRMWAREBen Hutchings2009-11-111-0/+8
| | | | | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43-pio: Fix RX error path for rev>=8 devicesMichael Buesch2009-11-111-1/+5
| | | | | | | | This fixes the RX error path for rev>=8 devices. The wrong register size and definitions were used. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* staging/wireless: don't build when NET etc. are not enabledRandy Dunlap2009-11-113-4/+4
| | | | | | | | | | | | | | These wireless drivers in staging could be built when CONFIG_NET=n, CONFIG_NETDEVICES=n, causing this build error: net/wireless/wext-priv.c: In function 'ioctl_private_call': net/wireless/wext-priv.c:206: error: implicit declaration of function 'call_commit_handler' due to faulty selects. Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Cc: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* iwlwifi: MAC_ACCESS_REQ cleanupBen Cahill2009-11-114-11/+11
| | | | | | | | | | | | | | | | | | Add txq_id info to "Tx queue requesting wakeup" debug message Add "Rx queue requesting wakeup" debug message Move clear of CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ to be after nearby iwl_write_prph(), since iwl_write_prph() sets it and clears it. Almost removed it entirely, but just making sure in case someone removes the iwl_write_prph()! Also remove unneeded priv->lock usage; this is now handled by priv->reg_lock within iwl_clear_bit(). Join a couple of lines that had unneeded line returns. Signed-off-by: Ben Cahill <ben.m.cahill@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* iwlwifi: Fix issue on file transfer stalled in HT modeWey-Yi Guy2009-11-111-0/+1
| | | | | | | | | | | | Turn on RTS/CTS for HT to prevent uCode TX fifo underrun This is fix for http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2103 Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Tested-by: Jiajia Zheng <jiajia.zheng@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* iwlagn: update write pointers in iwl_irq_tasklet()Ben Cahill2009-11-111-6/+3
| | | | | | | | | | | | | | | | | | | | Follow-up to "update write pointers for all tx queues after wakeup"; that patch changed iwl_irq_tasklet_legacy(), but not iwl_irq_tasklet(), so newer devices were not covered. Comments from original patch: Wakeup interrupt has been updating write pointers (indexes, actually) only for tx queues 0-5. This is adequate just for 3945, but inadequate for other devices, all of which have more tx queues. Now updating all tx/command queues, so device can be aware of all new tx and host commands enqueued while device was asleep. This can potentially improve data traffic bandwidth and/or latency. Signed-off-by: Ben Cahill <ben.m.cahill@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* iwlwifi: Add comments about MAC_ACCESS_REQBen Cahill2009-11-111-0/+20
| | | | | | Signed-off-by: Ben Cahill <ben.m.cahill@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* iwlwifi: Update comments for struct iwl_ssid_ieBen Cahill2009-11-111-3/+4
| | | | | | Signed-off-by: Ben Cahill <ben.m.cahill@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* iwlwifi: speed up event log dumpsBen Cahill2009-11-112-12/+32
| | | | | | | | | | | | | | | | Take advantage of device's auto-increment for SRAM reads to eliminate extra write address accesses. Grab/release NIC access before/after entire read sequence, rather than for each read individually. After a quick check of dmesg logs, this seems to double Event Log dump speed, reducing from about 20 milliseconds to about 10 milliseconds for 512 entries using 3945. Signed-off-by: Ben Cahill <ben.m.cahill@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* iwlwifi: Limit size of Event Log dumpBen Cahill2009-11-112-0/+30
| | | | | | | | | | | | If device provides bad values for Event Log parameters (due to being asleep or SRAM corruption, etc.), the size can be very, very large (e.g. 0xa5a5a5a5), which can flood system log. Sanity-check capacity and next_entry values and limit to reasonable size dump. Signed-off-by: Ben Cahill <ben.m.cahill@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* iwlwifi: do not base station's sm_ps setting on APWey-Yi Guy2009-11-111-6/+0
| | | | | | | | | Do not use AP's SM_PS setting for our own SM_PS setting. Reported-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
OpenPOWER on IntegriCloud