- 05 6月, 2012 8 次提交
-
-
由 Luciano Coelho 提交于
When allocating the fw_status structure, the space for the lower-driver private area was missing. This was causing an illegal write outside the allocated area, which was causing random oopses around the kernel. Signed-off-by: NLuciano Coelho <coelho@ti.com> Signed-off-by: NArik Nemtsov <arik@wizery.com>
-
由 Arik Nemtsov 提交于
The number of RX packet descriptors may vary from chip to chip and in different firmware versions. Unfortunately, the array that contains the actual descriptors is in the middle of the fw_status structure. To manage this, we split the struct into two so we can calculate the offset of what comes after the array and access the last elements more easily. [Changed the STATUS_LEN macro to be placement agnostic - Arik] Signed-off-by: NLuciano Coelho <coelho@ti.com> Signed-off-by: NArik Nemtsov <arik@wizery.com>
-
由 Luciano Coelho 提交于
PLT mode needs to be initialized differently for each chip. This patch adds an operation to init PLT and moves the existing PLT initialization into the wl12xx driver. Signed-off-by: NLuciano Coelho <coelho@ti.com> Signed-off-by: NArik Nemtsov <arik@wizery.com>
-
由 Luciano Coelho 提交于
Only wl12xx needs to get the ref_clock anc tcxo_clock values from the platform data. Move these elements from the wl1271 structure to wl12xx's private data. Signed-off-by: NLuciano Coelho <coelho@ti.com> Signed-off-by: NArik Nemtsov <arik@wizery.com>
-
由 Arik Nemtsov 提交于
Define the FW pc in the 18xx register translation table. This specific register is only valid in the boot partition, so change the momentarily change partitions. This doesn't damage 12xx cards, where the FW pc is accessible via boot partition as well. Signed-off-by: NArik Nemtsov <arik@wizery.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Arik Nemtsov 提交于
Add a HW op to add extra enabled rates for AP-mode data-rates. Since the rates might depend on channel properties, reconfigure AP-mode rates when these change. Implement the HW op for the 18xx family, where MIMO or wide-chan rates can be added. Signed-off-by: NArik Nemtsov <arik@wizery.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Arik Nemtsov 提交于
Parse the peer ht_cap element containing MCS8-MCS15 rates and pass it to the FW. Rates unsupported by the HW will be sanitized by mac80211 before reaching us. Signed-off-by: NArik Nemtsov <arik@wizery.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Arik Nemtsov 提交于
Track the current 802.11 channel type, defaulting to a NO_HT channel. Update the channel type element when changed by mac80211. Signed-off-by: NArik Nemtsov <arik@wizery.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
- 17 5月, 2012 1 次提交
-
-
由 Luciano Coelho 提交于
There were three sparse warnings in main.c due to missing static declaration: CHECK drivers/net/wireless/ti/wlcore/main.c drivers/net/wireless/ti/wlcore/main.c:1265:5: warning: symbol 'wl1271_validate_wowlan_pattern' was not declared. Should it be static? drivers/net/wireless/ti/wlcore/main.c:1408:5: warning: symbol 'wl1271_convert_wowlan_pattern_to_rx_filter' was not declared. Should it be static? drivers/net/wireless/ti/wlcore/main.c:4823:6: warning: symbol 'wl1271_connection_loss_work' was not declared. Should it be static? Fix these by adding the static declaration to those functions. Signed-off-by: NLuciano Coelho <coelho@ti.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 16 5月, 2012 5 次提交
-
-
Make use of REGAINED_BSS_EVENT and instead of reporting connection loss immediately on each BEACON_LOSE event, try if not regained in reasonable period of time. Signed-off-by: Nbartosz.markowski <bartosz.markowski@tieto.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Dan Carpenter 提交于
We should release this lock before returning. Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Eyal Shapira 提交于
Use FW RX data filters to support cfg80211 wowlan wakeup patterns. This enables to wake up the host from suspend following detection of certain configurable patterns within an incoming packet. Up to 5 patterns are supported. Once the host is resumed any configured RX data filter is cleared. A single pattern can match several bytes sequences with different offsets within a packet. Signed-off-by: NEyal Shapira <eyal@wizery.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Eyal Shapira 提交于
This is prep work for the support of wowlan patterns using the FW data rx filters mechanism. Added an rx filter struct and some util functions required to manipulate it. Signed-off-by: NEyal Shapira <eyal@wizery.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Luciano Coelho 提交于
GFP_DMA should not be used by itself, it still needs GFP_KERNEL or such. Fix two occurrences of allocations with GFP_DMA only. Reported-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
- 12 4月, 2012 23 次提交
-
-
由 Arik Nemtsov 提交于
Add room for a private data struct at the end of the common FW status. Add a convenience "counters" struct inside the FW status. The wl12xx family does not currently use the FW status private data. Signed-off-by: NArik Nemtsov <arik@wizery.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Arik Nemtsov 提交于
Allow preventing HW recovery from a module param. The driver/FW will remain stuck, to allow easier FW debugging. Signed-off-by: NArik Nemtsov <arik@wizery.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Arik Nemtsov 提交于
The max Rx aggregation subframes configured to FW must be the same number given to the upper layers (mac80211). Derive both from the same value, given in the conf struct. Signed-off-by: NArik Nemtsov <arik@wizery.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Arik Nemtsov 提交于
Set HT capabilities in the low-level HW driver. These are then used by wlcore when registering with mac80211. Signed-off-by: NArik Nemtsov <arik@wizery.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Luciano Coelho 提交于
The configuration parameters vary with different chip families. Some of the parameters used only by some chip families, others should have different value depending on the family. Thus move the configuration values from wlcore to wl12xx. Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Luciano Coelho 提交于
Move all the wl12xx-specific hw initialization procedures into a new hw_init op. Move some commands and ACX functions to wl12xx. Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Arik Nemtsov 提交于
Inverting the quirk flag to indicate Tx-alignment. This aligns it with the similar Rx-side quirk. The call to wl1271_set_block_size() decides whether SDIO block size alignment can be used or not. In case we're using SPI, we can't use the block size alignment, so the function returns false. So we set the quirk when wl1271_set_block_size() returns true and let the wl12xx lower driver unset the bit for wl127x (since it doesn't support this quirk). Signed-off-by: NArik Nemtsov <arik@wizery.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Arik Nemtsov 提交于
One chip family employs immediate Tx completion, where knowledge of completed packets is given as part of the FW status. Another is only notified of Tx completion via the FW status, and has to read the completion status of the packets from a different location. Implement the wl12xx tx completion as a delayed Tx completion. Signed-off-by: NArik Nemtsov <arik@wizery.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Arik Nemtsov 提交于
Rates reported by HW can be different between chip families. Make the rate-to-idx translation tables private per family and use them in a common translation function. Add a global element to help determine which rates are HW HT-rates. Signed-off-by: NArik Nemtsov <arik@wizery.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Arik Nemtsov 提交于
The number of spare Tx blocks must be changed when the GEM cipher is engaged. Track set_key() operations to see if this is the case and change the Tx HW spare block count accordingly. Set the number of spare blocks for each operating mode from the low level driver. Signed-off-by: NArik Nemtsov <arik@wizery.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Arik Nemtsov 提交于
Each chip family can have a different amount of Tx descriptors. These are set on init. Signed-off-by: NArik Nemtsov <arik@wizery.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Arik Nemtsov 提交于
This storage is allocated in wlcore_alloc_hw and freed in free_hw. The size of the storage is determined by the low-level driver. Signed-off-by: NArik Nemtsov <arik@wizery.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Luciano Coelho 提交于
Different chip families have the factory MAC address written in different places. Add a new hardware operation to read the MAC address, if available. Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Luciano Coelho 提交于
The top registers initialization is very specific to the actual hardware used, even the way in which we read from and write to the top registers varies from chip to chip. This patch moves all top registers initialization to wl12xx. Also add a boot op for the wlcore module to call at the right time and a few callbacks with the common called to be called from the lower drivers boot operations. Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Luciano Coelho 提交于
The PG version depends on the actual hardware. This commit moves the code used to read the PG version to the lower driver, by adding the get_pg_ver hardware operation. Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Luciano Coelho 提交于
Move the code that identifies the chip ID and selects the appropriate firmware to an operation implemented by the lower driver. Also move the quirks definitions into wlcore.h and rename to WLCORE_QUIRK_*. Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Luciano Coelho 提交于
Add register tables support in wlcore, add some new IO functions to read and write to chip-specific register and data addresses. Move some common register values from wl12xx to wlcore and add the registers table to wl12xx. Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Luciano Coelho 提交于
Add partition tables to wlcore, move and reorganize partition setting functions. Move wl12xx partition table to use the wlcore partition table instead. Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Luciano Coelho 提交于
In order to add chip-specific operations and prepare for future elements that need to be set by the lower driver, move the wl1271 structure to the wlcore.h file and add an empty placeholder for the operations structure. Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Luciano Coelho 提交于
We need to set some parameters (eg. partition and register tables) during probe of the lower driver, so split the probe function, leaving most of it in wlcore, but moving the hw struct allocation to the lower driver. Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Luciano Coelho 提交于
Create a new small wl12xx module that only contains the probe functions and depends entirely on wlcore otherwise. Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Luciano Coelho 提交于
Rename the wl12xx driver directory to wlcore as an initial step towards the split of the driver into wlcore and wl12xx. We just rename the directory first to keep git blame happy. Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Luciano Coelho 提交于
Move wl12xx and wl1251 modules into a new drivers/net/wireless/ti directory. Add a TI WLAN Kconfig option and Makefile to support this change. Signed-off-by: NLuciano Coelho <coelho@ti.com> Cc: John W. Linville <linville@tuxdriver.com>
-
- 11 4月, 2012 1 次提交
-
-
由 Johannes Berg 提交于
Not all devices are really capable of implementing remain-on-channel, even if it is implemented in SW, as they can't necessarily deal with channel changes while associated. Remove the WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL and add it only if either the driver has remain_on_channel implemented in the driver/device. Also add it to all drivers that advertise P2P right now since those definitely have to have it working. Signed-off-by: NJohannes Berg <johannes.berg@intel.com> Acked-by: NLuciano Coelho <coelho@ti.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 10 4月, 2012 2 次提交
-
-
由 Eyal Shapira 提交于
Set the dwell times for sched scan according to the number of probe requests which are going to be transmitted. This should fix the too short dwell time problem which prevented some of the probe requests from being transmitted in cases of high number of SSIDs (10+) to be actively sched scanned. However, in the common case of having up to 1-2 SSIDs that require active scan, the dwell time would be kept to a minimum which should conserve power. This is important as sched scan also runs periodically while the host is suspended and there's great importance to keep power consumption as low as possible. Signed-off-by: NEyal Shapira <eyal@wizery.com> [fixed a couple of new strict checkpatch warnings] Signed-off-by: NLuciano Coelho <coelho@ti.com>
-
由 Eyal Shapira 提交于
wlvif->probereq is zeroed when adding an interface but the skb pointed to isn't freed when the interface is removed. This would lead to a mem leak on every recovery. Fix it by freeing the skb when removing the interface. Signed-off-by: NEyal Shapira <eyal@wizery.com> Signed-off-by: NLuciano Coelho <coelho@ti.com>
-