aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* iwlwifi: print warning on request_module failureJohannes Berg2013-04-08
| | | | | | | | | | | If request_module() failed then we didn't have the correct opmode module that the driver needs to function, so print a warning in this case to make it more obvious what could be wrong. This still won't catch the case where the module simply doesn't exist because it wasn't compiled though. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* iwlwifi: mvm: rename iwl_mvm_new_bt_coex_notifEmmanuel Grumbach2013-04-03
| | | | | | | | | | It actually handles a BT coex notification, so rename it to be more self explained. Also, this function can always look at mvm->last_bt_notif provided that the latter is updated on time. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* iwlwifi: mvm: clean up invalid station handlingEmmanuel Grumbach2013-04-03
| | | | | | | | | | | | | Using IWL_MVM_STATION_COUNT and IWL_INVALID_STATION together isn't a good idea as they have different values. Always use IWL_MVM_STATION_COUNT for an invalid station in MVM and move the definition of the IWL_INVALID_STATION constant into the DVM driver to avoid making such mistakes again. The one use in the transport code can be hard-coded to -1 instead as the station ID is passed as an integer there. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* iwlwifi: add new pci id for 6x35 seriesShuduo Sang2013-04-03
| | | | | | | | | | | | some new thinkpad laptops use intel chip with new pci id need be added lspci -vnn output: Network controller [0280]: Intel Corporation Centrino Advanced-N 6235 [8086:088f] (rev 24) Subsystem: Intel Corporation Device [8086:5260] Signed-off-by: Shuduo Sang <sangshuduo@gmail.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* iwlwifi: mvm: beautify code in BT CoexEmmanuel Grumbach2013-04-03
| | | | | | | | | | The iterators don't need to know what bt_kill_msk means. All they need to know is if reduced Tx power is enabled on an interface or not. So change the member of the iterator to be a bool. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* iwlwifi: mvm: Sync FW API time event notification changeIlan Peer2013-04-03
| | | | | | | | | The firmware API changed to differentiate between event and fragment start/end. Change the time-event handling accordingly. Signed-off-by: Ilan Peer <ilan.peer@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* iwlwifi: sleep for at least 10 secondsJohannes Berg2013-04-03
| | | | | | | | | | | | | | | | Many platforms have issues processing a wakeup signal while they're still suspending, and will ignore it. Since our device thinks it woke the platform, and the platform ignored the signal, it will sleep without WoWLAN being enabled as the device disables WoWLAN when having woken the platform. Resolve this by making the device wait for 10 seconds after getting the suspend signal before waking up the platform. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* iwlwifi: print opmode when firmware is loadedJohannes Berg2013-04-03
| | | | | | | Print the sub-driver (opmode, i.e. DVM or MVM) when the firmware is loaded. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* iwlwifi: mvm: remove redundant iwl_power_get_params()Alexander Bondar2013-04-03
| | | | | | | | The function just wraps an existing one, remove it. Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* iwlwifi: mvm: change active-to-powersave transition time for BPSAlexander Bondar2013-04-03
| | | | | | | | | | The requirement for TX/RX active to powersave transition time for the Balanced Power Save (BPS) scheme changed. Change the driver accordingly and set transition time to 100 msec. Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* iwlwifi: mvm: encapsulate power table command log messageAlexander Bondar2013-04-03
| | | | | | | | | Encapsulate the power table command logging in a separate function to print the same information in both cases. Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* iwlwifi: mvm: set keepalive period regardless of PM stateAlexander Bondar2013-04-03
| | | | | | | | | | The firmware starts sending nulldata frames for keepalive immediately after association, regardless of power management state. The driver thus needs to configure keep alive period unconditionally. Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* iwlwifi: mvm: always send power table commandAlexander Bondar2013-04-03
| | | | | | | | | | | | | The driver distinguishes between power management and device's power down enablement. Power management enablement depends both on driver's module power parameters and mac80211 decision. The device's power down depends only on driver's module power parameters. Change the driver to always send Power Table command to enable or disable both power management and device's power down. Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* iwlwifi: mvm: Fix active-to-powersave transition time unitsAlexander Bondar2013-04-03
| | | | | | | | | Active to power save mode transition time for TX/RX in the power table command is in microseconds, fix the units in the driver. Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* iwlwifi: mvm: don't disable power management due to P2P deviceAlexander Bondar2013-04-03
| | | | | | | | | | | | | Currently power management is supported only when only a single virtual interface is present. The driver verifies number of created interfaces and disables power management when multiple interfaces present. However, this rule does not extend to a P2P device that is handled differently in the firmware. If a P2P device is added power management can remain enabled. Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* iwlwifi: mvm: Rename some power management definitions and methodsAlexander Bondar2013-04-03
| | | | | | | | | Replace SLEEP_OVER_DTIM by SKIP_OVER_DTIM. Add iwl_mvm prefix to a function name. Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* iwlwifi: mvm: downgrade to old power management APIAlexander Bondar2013-04-03
| | | | | | | | | | | Current available FW still doesn't support new PM API. Therefore, to enable basic power management with the existing firmware, change the API in the driver back to the API used in the current firmware. Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* iwlwifi: mvm: remove BT Coex constraints upon roaming to A bandEmmanuel Grumbach2013-04-03
| | | | | | | | When we roam to A band, we don't need to constraint WiFi any more since it is operating on a different band. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* iwlwifi: mvm: implement reduced Tx powerEmmanuel Grumbach2013-04-03
| | | | | | | | | | This allows to have better wifi TPT when BT is active under good RSSI conditions. Wifi will have better chance to send Acks and Cts even if BT is active. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* iwlwifi: mvm: add per-interface debugfs with mac_params fileJohannes Berg2013-04-03
| | | | | | | | Use the per-interface debugfs infrastructure to create a directory and symlink, and add a file containing debug data related to each virtual interface. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* Merge remote-tracking branch 'wireless-next/master' into iwlwifi-nextJohannes Berg2013-03-26
|\
| * b43: remove warning for LP-PHY with sprom < 8Hauke Mehrtens2013-03-25
| | | | | | | | | | | | | | | | | | | | The BCM5354 SoC has a build in ieee80211 core rev 13 with a LP-PHY on it. This devices has a sprom version 3 stored in the nvram. This patch removes the warning and uses the opo values from the sprom as mentioned in the specs. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ssb: read additional sprom v2 and v3 attributes.Hauke Mehrtens2013-03-25
| | | | | | | | | | | | | | | | These attributes should be in the sprom for rev 2 and 3, but they were not read out. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ssb: fix sprom constant for ant_available_{bg,a}Hauke Mehrtens2013-03-25
| | | | | | | | | | | | | | This was done accordingly to new specs. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * b43: use bcma_chipco_gpio_control()Hauke Mehrtens2013-03-25
| | | | | | | | | | | | | | | | With this patch the same registers are written, but this access is now protected by a lock. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * bcma: define board typesRafał Miłecki2013-03-25
| | | | | | | | | | | | | | Using that IDs we can write workarounds for various cards Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ssb: define more board typesRafał Miłecki2013-03-25
| | | | | | | | | | Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * bcma: extract board_type from SPROMRafał Miłecki2013-03-25
| | | | | | | | | | Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ssb: extract board_type from SPROMRafał Miłecki2013-03-25
| | | | | | | | | | Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mwifiex: add support to configure VHT for AP modeYogesh Ashok Powar2013-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, default VHT configuration from the firmware is used for the VHT operations. Adding vhtcfg command to configure the firmware based on input received from cfg. Enable VHT for AP mode only when cfg80211_ap_settings has a VHT IE i.e., when ieee80211ac is set to 1 in the hostapd.conf. Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com> Signed-off-by: Avinash Patil <patila@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rtlwifi: usb: add NET_IP_ALIGN padding to RX skb when neededJussi Kivilinna2013-03-25
| | | | | | | | | | | | | | | | Add proper alignment at first packet copy, to avoid extra copies made later in networking stack. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rtlwifi: usb: defer rx processing to taskletJussi Kivilinna2013-03-25
| | | | | | | | | | | | | | Move processing of received packets to tasklet from hard-irq context. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rtlwifi: usb: remove extra skb copy on RX pathJussi Kivilinna2013-03-25
| | | | | | | | | | | | | | RX path has extra copying of packets, that can be avoided. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rtlwifi: usb: use usb_alloc_coherent for RX buffersJussi Kivilinna2013-03-25
| | | | | | | | | | | | | | | | Use dedicated DMA coherent buffers for RX urbs, to avoid allocation of large skbuffs in hard-irq context and improve performance. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * Merge branch 'for-linville' of ↵John W. Linville2013-03-25
| |\ | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx
| | * Merge branch 'wl12xx-next' into for-linvilleLuciano Coelho2013-03-25
| | |\
| | | * wlcore: move handling from hardirq to the irq thread functionLuciano Coelho2013-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Spin locks and completions are expensive in hard IRQ context and cause problems with RT kernels. In RT kernels, both spin locks and completions can schedule(), so we can't use them in hard irq context. Move handling code into the irq thread function to avoid that. Reported-by: Gregoire Gentil <gregoire@alwaysinnovating.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
| | | * wlcore: use print_hex_dump_debug()Luciano Coelho2013-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were printing out all the hex dumps regardless of whether dynamic debugging was enabled or not. Now that print_hex_dump_debug() has been implemented, we can use that instead. Reported-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
| | | * wlcore: consider dummy packets when tx queues are emptyArik Nemtsov2013-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't ignore dummy packets when our queues are empty. This causes dummy packets never to be sent when traffic is not suspended by FW thresholds, which happens only in high Tx throughput situations. This may hurt Rx performance. Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
| | | * wlcore: correctly check state before regdomain confArik Nemtsov2013-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The wlcore state was checked without the mutex being taken. This leads to WARN_ONs sometimes if a notification arrives when the driver is on, but the mutex is only taken after it is off. This usually happens if stopping the driver while connected to a network. Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
| | | * wlcore: AP-mode - recover security seq num for stationsArik Nemtsov2013-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Save the sequence number of the broadcast AP link in the wlvif. For each connected station, save the sequence number in the drv_priv part of ieee80211_sta. Use the saved numbers on recovery/resume, with the obligatory increment on recovery. Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
| | | * wlcore: free AP global links properly on recoveryArik Nemtsov2013-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dont use free_sta() on AP global links. It would fail an internal check within the function and various structures within the link struct would not be reset. Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
| | | * wl18xx: print chip info during bootVictor Goldenshtein2013-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Print board type, PG with metal and ROM versions. This might help debugging HW related issues. Signed-off-by: Victor Goldenshtein <victorg@ti.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
| | | * wlcore: don't attempt to roam in case of p2pEyal Shapira2013-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For STA we report beacon loss to higher levels so that wpa_s can attempt to roam without disconnecting. In case of P2P CLI we don't want to attempt roaming and instead disconnect immediately upon beacon loss. Signed-off-by: Eyal Shapira <eyal@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
| | | * wlcore: change warn on missing lock in wlcore_queue_xx funcsArik Nemtsov2013-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On !CONFIG_SMP builds spin_is_locked always returns 0. Assert the locking using assert_spin_locked, which is written to behave correctly in all cases. Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
| | | * wlcore: report rssi from roaming statisticsNadim Zubidat2013-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | report the average beacon rssi which is calculated by firmware for roaming statistics instead of the last rx packet rssi. this results a more accurate rssi reporting Signed-off-by: Nadim Zubidat <nadimz@ti.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
| | | * wlcore: consolidate tx_seq handling on recoveryArik Nemtsov2013-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Accumulate the total number of sent packets per-link to find out how far the encryption sequence number has progressed. Use this number as the initial security sequence number after recovery. This consolidates security sequence handling for both chip families, as we no longer have to rely on 12xx specific Tx completion. A fortunate side effect of this is correct management of seq numbers for AP roles and multi-role scenarios. When a link is removed we save the last seq number on a persistent part of the wlvif. This helps the data survive through recoveries/suspends, which also entail changes in the hlid of the link. This functionality is STA only currently. Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
| | | * wlcore: don't risk using stale HLID during .sta_state callbackArik Nemtsov2013-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The HLID of a STA can change, particularly during recovery. Don't cache the HLID before it was potentially allocated. Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
| | | * wlcore: fix link count in single-link-PSM optimizationArik Nemtsov2013-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 144614f3eebd7d only allowed a single active link when turning on the optimization, ignoring the fact that an AP has two additional global links. Use 3 links as an indication for a single active link. Use the FW PSM bits to verify the extra active link belongs to the AP role. Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
| | | * wlcore: set max num of Rx BA sessions per chipIgal Chernobelsky2013-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Maximum number of supported RX BA sessions depends on chip type. wl18xx supports 5 RX BA sessions while wl12xx supports 3. Signed-off-by: Igal Chernobelsky <igalc@ti.com> Signed-off-by: Luciano Coelho <coelho@ti.com>