summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* b43: HT-PHY: implement stopping sample tone playbackRafał Miłecki2013-03-132-0/+47
| | | | | | | | | | | | | | It was another sequence I recognized in HT-PHY dump: phy_read(0x00c7) -> 0x0001 phy_read(0x00c3) -> 0x0000 phy_write(0x00c3) <- 0x0002 phy_read(0x00c3) -> 0x0000 phy_write(0x00c3) <- 0x0000 The difference to N-PHY is that it writes to 6 tables instead of a one (after above). Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: HT-PHY: implement controlling TX power controlRafał Miłecki2013-03-132-0/+68
| | | | | | | | | Don't enable it until we have (almost?) whole TX power management figured out. It's similar to the N-PHY, the difference is that we call a "fix" *before* disabling power control. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: HT-PHY: implement PA overrideRafał Miłecki2013-03-132-0/+27
| | | | | Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: HT-PHY: implement CCA resetRafał Miłecki2013-03-131-21/+47
| | | | | | | | | | | | | It was just another similar-to-N-PHY and easy-to-track routine: write32 0xb0601408 <- 0x00002057 phy_read(0x0001) -> 0x0000 phy_write(0x0001) <- 0x4000 phy_write(0x0001) <- 0x0000 write32 0xb0601408 <- 0x00002055 (b43_phy_ht_force_rf_sequence was moved up unmodified) Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: HT-PHY: implement MAC reclockingRafał Miłecki2013-03-131-0/+18
| | | | | Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: HT-PHY: implement spurious tone avoidanceRafał Miłecki2013-03-131-0/+20
| | | | | | | | | On N-PHY it's also done after TX power fix, so it was easy to spot. Unfortunately the MMIO logs I have from ndsiwrapper include channels 1-12 only, so enabling code for 13 and 14 is just a N-PHY-based guess. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: HT-PHY: move TX fix to the separated functionRafał Miłecki2013-03-131-18/+28
| | | | | | | | | On N-PHY after B43_PHY_B_TEST operation there is a call to TX power fix function which iterates over available cores. It matches our HT-PHY code which means it's probably also some TX fix. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: HT-PHY: add classifier control functionRafał Miłecki2013-03-132-5/+37
| | | | | | | | After comparing operations on reg 0xB on N and HT it seems to be the same register with similar ops. Implement them for HT-PHY. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: HT-PHY: rename AFE definesRafał Miłecki2013-03-132-25/+25
| | | | | | | | | | It you take a look at N-PHY analog switch function it touches every core on the chipset. It seems HT-PHY does they same, it just has 3 cores instead of 2 (which make sense since BCM4331 is 3x3). Rename AFE defines to include core id. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* wil6210: temperature measurementVladimir Kondratiev2013-03-133-0/+70
| | | | | | | | | | Firmware got support for temperature measurement. There are 2 temperature sensors: MAC and radio "not available" temperature - reported by FW as 0 or ~0 Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* wil6210: sync with new firmwareVladimir Kondratiev2013-03-136-122/+321
| | | | | | | | | | | | | | | Adjust driver for changes in the FW API. Noticeable changes in the FW are: - temperature sensing - infrastructure for multiple connections - infrastructure for P2P - signal strength indication This commit introduces only changes that are required to support same functionality as previous firmware, no new features. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* wil6210: new SW resetVladimir Kondratiev2013-03-134-23/+17
| | | | | | | | | | | | | | | | New firmware allows for shorter SW reset procedure. After SW reset, FW raises "fw done" IRQ, at this moment mailbox control structures are initialized, driver caches it. New status bit wil_status_reset_done introduced to track completion of the reset. It is set by "fw ready" irq, and required for WMI rx flow to access control structures. WMI Tx flow protected by other status bit, wil_status_fwready. It can't be set before wil_status_reset_done is set by design. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* wil6210: headers clean-upVladimir Kondratiev2013-03-136-27/+0
| | | | | Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* wil6210: use WLAN_CAPABILITY_DMG_TYPE_MASKVladimir Kondratiev2013-03-131-1/+1
| | | | | Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* wil6210: fix FW error notificationVladimir Kondratiev2013-03-131-3/+11
| | | | | | | | | | | user space get notified through kobject_uevent_env(), that might sleep and thus should run in thread context. Move user space notification to the thread handler, while mark FW is non-functional right in the hard IRQ. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* wil6210: report all received mgmt framesVladimir Kondratiev2013-03-131-0/+3
| | | | | | | | Pass to cfg80211 all management frames. Used by wpa_supplicant. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* wil6210: use cfg80211_inform_bss_frame()Vladimir Kondratiev2013-03-131-11/+3
| | | | | | | Avoid unnecessary frame parsing Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* wil6210: refactor connect_workerVladimir Kondratiev2013-03-133-25/+23
| | | | | | | Move wmi_connect_worker() to the main.c and change names for consistency. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* wil6210: Fix garbage sent to the FW with wmi_set_ie()Vladimir Kondratiev2013-03-131-1/+1
| | | | | | | Extra reference was taken by mistake. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* wil6210: do not set IE's for beaconVladimir Kondratiev2013-03-131-2/+7
| | | | | | | | | On the DMG band, there is no 'normal' beacon frame. Instead, transmitted is short 'DMG beacon' frame, that do not include IE's So, beacon IE's are not relevant for the DMG band. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* wil6210: handle WMI_BA_STATUS_EVENTIDVladimir Kondratiev2013-03-131-0/+11
| | | | | | | | Firmware indicated block ack agreement status change. For now, just log it. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* wil6210: handle linkup/linkdown WMI eventsVladimir Kondratiev2013-03-131-0/+23
| | | | | | | Firmware indicates linkup/linkdown when data path becomes ready. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* wil6210: Remove local implementation of dynamic hexdumpVladimir Kondratiev2013-03-132-24/+2
| | | | | | | This functionality now integrated in kernel, local hack not needed any more Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* wil6210: remove unused including <linux/version.h>Wei Yongjun2013-03-131-1/+0
| | | | | | | | Remove including <linux/version.h> that don't need it. Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Acked-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ssb: pci: Fix flipping of MAC addressLarry Finger2013-03-131-1/+1
| | | | | | | | | | | Since commit e565275 entitled "ssb: pci: Standardize a function to get mac address", the SPROM readout of the MAC has had the values flipped so that 00:11:22:33:44:55 became 11:00:33:22:55:44. The fix has been tested on both little- and big-endian architectures. Reported-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mwl8k: don't overwrite regulatory settings on fw reloadJonas Gorski2013-03-111-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the caps are parsed on every firmware reload, causing any channel flags to be cleared. When there is a firmware to interface mode mismatch, the triggered firmware reload causes a reset of the regulatory settings, causing all channels to become available: root@openrouter:/# iw phy phy0 info Wiphy phy0 Band 1: (...) Frequencies: * 2412 MHz [1] (0.0 dBm) * 2417 MHz [2] (0.0 dBm) * 2422 MHz [3] (0.0 dBm) * 2427 MHz [4] (0.0 dBm) * 2432 MHz [5] (0.0 dBm) * 2437 MHz [6] (0.0 dBm) * 2442 MHz [7] (0.0 dBm) * 2447 MHz [8] (0.0 dBm) * 2452 MHz [9] (0.0 dBm) * 2457 MHz [10] (0.0 dBm) * 2462 MHz [11] (0.0 dBm) * 2467 MHz [12] (0.0 dBm) * 2472 MHz [13] (0.0 dBm) * 2484 MHz [14] (0.0 dBm) (...) To prevent this, only parse the caps on the first firmware load during hardware probe, and store them locally to know we have already parsed them. Signed-off-by: Jonas Gorski <jogo@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* wireless:rtlwifi: replaced kmalloc+memcpy with kmemdupAndrei Epure2013-03-111-2/+1
| | | | | Signed-off-by: Andrei Epure <epure.andrei@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* iwlegacy: fix sparse warningsStephen Hemminger2013-03-113-10/+10
| | | | | | | | Make local functions and tables static. Make ops table Mark 3945 ops as read_mostly. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* orinoco_usb: don't release nonexistent firmwareMichal Pecio2013-03-111-1/+1
| | | | | | | | Initialize fw_entry to NULL to prevent cleanup code from passing bogus pointer to release_firmware() when priv allocation fails. Signed-off-by: Michal Pecio <michal.pecio@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* Merge tag 'nfc-next-3.10-1' of ↵John W. Linville2013-03-119-54/+634
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/sameo/nfc-next Samuel Ortiz <sameo@linux.intel.com> says: This is the first NFC pull request for 3.10. The 2 features we have with this one are: - An LLCP Service Name Lookup (SNL) netlink interface for querying LLCP service availability from user space. Along the way, Thierry also improved the existing SNL interface for aggregating SNL responses. - An initial LLCP socket options implementation, for setting the Receive Window (RW) and the Maximum Information Unit Extension (MIUX) per socket. This is need for the LLCP validation tests. We also have a microread MEI build failure here: I am not sending this one to 3.9 because the MEI bus code is not there yet, so it won't break for anyone else than me. Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * NFC: llcp: Add cleanup support for unreplied SNL requestsThierry Escande2013-03-103-0/+57
| | | | | | | | | | | | | | | | | | | | | | | | If the remote LLC doesn't reply in time to our SNL requests we remove them from the list of pending requests. The timeout is fixed to an arbitrary value of 3 times remote_lto. When not replied, the local LLC broadcasts NFC_EVENT_LLC_SDRES nl events for the concerned uris with sap values set to LLCP_SDP_UNBOUND (which is 65). Signed-off-by: Thierry Escande <thierry.escande@linux.intel.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
| * NFC: llcp: Service Name Lookup netlink interfaceThierry Escande2013-03-106-0/+314
| | | | | | | | | | | | | | | | | | | | | | | | This adds a netlink interface for service name lookup support. Multiple URIs can be passed nested into the NFC_ATTR_LLC_SDP attribute using the NFC_CMD_LLC_SDREQ netlink command. When the SNL reply is received, a NFC_EVENT_LLC_SDRES event is sent to the user space. URI and SAP tuples are passed back, nested into NFC_ATTR_LLC_SDP attribute. Signed-off-by: Thierry Escande <thierry.escande@linux.intel.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
| * NFC: llcp: Service Name Lookup SDRES aggregationThierry Escande2013-03-103-27/+94
| | | | | | | | | | | | | | | | | | This modifies the way SDRES PDUs are sent back. If multiple SDREQs are received within a single SNL PDU, all SDRES replies are sent packed in one SNL PDU too. Signed-off-by: Thierry Escande <thierry.escande@linux.intel.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
| * NFC: Add missing type policies for netlink attributesThierry Escande2013-03-101-0/+3
| | | | | | | | | | Signed-off-by: Thierry Escande <thierry.escande@linux.intel.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
| * NFC: llcp: Remove redundant printkSamuel Ortiz2013-03-101-2/+0
| | | | | | | | | | | | We already have a pr_debug for that. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
| * NFC: llcp: Use socket specific link parameters before the local onesSamuel Ortiz2013-03-103-8/+23
| | | | | | | | | | | | If the socket link options are set, use them before the local one. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
| * NFC: llcp: Implement socket optionsSamuel Ortiz2013-03-104-2/+125
| | | | | | | | | | | | | | | | Some LLCP services (e.g. the validation ones) require some control over the LLCP link parameters like the receive window (RW) or the MIU extension (MIUX). This can only be done through socket options. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
| * NFC: llcp: Rename socket rw and miu fieldsSamuel Ortiz2013-03-104-16/+19
| | | | | | | | | | | | | | They really are remote peer parameters, and we need to distinguish them from the local ones as we'll modify the latter with socket options. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
| * NFC: microread: Fix MEI build failureSamuel Ortiz2013-03-101-1/+1
|/ | | | | | The mei_device field should be called device, not mei_device. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mwifiex: fix potential null dereference 'mef_entry'Bing Zhao2013-03-081-1/+4
| | | | | | | | | | drivers/net/wireless/mwifiex/cfg80211.c:2357 mwifiex_cfg80211_suspend() error: potential null dereference 'mef_entry' (kzalloc returns null) Reported-by: kbuild test robot <fengguang.wu@intel.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mwifiex: Trigger a card reset on reaching tx_timeout thresholdAshok Nagarajan2013-03-083-3/+19
| | | | | | | | | | | | | | tx_timeout doesn't always lead to a cmd_timeout. There are occurrences where cmd_timeout never gets triggered for a long time and we encounter a kernel crash. In this patch, we track the consecutive timeouts (tx_timeout_cnt). When tx_timeout_cnt exceeds the threshold, trigger a card reset thereby avoiding a kernel crash. Signed-off-by: Ashok Nagarajan <asnagarajan@chromium.org> Signed-off-by: Paul Stewart <pstew@chromium.org> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* rndis_wlan: update email addressJussi Kivilinna2013-03-082-2/+2
| | | | | Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* Merge branch 'for-john' of ↵John W. Linville2013-03-0885-696/+2000
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next
| * iwlwifi: mvm: the SCD byte count is a TLV flagEmmanuel Grumbach2013-03-062-2/+3
| | | | | | | | | | | | | | | | | | The SCD byte count layout is decided by the configuration done in fw, it is then logical to export it as a TLV flag and not per HW SKU. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| * iwlwifi: fix indirect write bugAmnon Paz2013-03-061-2/+3
| | | | | | | | | | | | | | | | | | | | | | Fix a bug in writing to indirect (periphery) registers; although writes seem successful the data is not written to the desired address). Also fix address mask for HBUS_TARG_PRPH_RADDR and HBUS_TARG_PRPH_WADDR registers. Signed-off-by: Amnon Paz <amnonX.paz@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| * iwlwifi: move firmware restart debugfs hook to op_modeEmmanuel Grumbach2013-03-065-22/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | This allows to test fw restart flow. The hook in transport layer doesn't really make the fw assert. Moving this hook to the op_mode allows to use the fw API to actually send a host command that will make the fw assert. Change the restart_fw module parameter to be a boolean on the way. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| * iwlwifi: mvm: update firmware API - MAC ID in RXEmmanuel Grumbach2013-03-061-1/+2
| | | | | | | | | | | | | | | | | | | | | | The firmware tells the driver to what MACs the received frame belongs (based on the time slot in which it was received). Note that there can be several MACs if they share the same binding. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| * iwlwifi: mvm: export last bt_notif through debugfsEmmanuel Grumbach2013-03-063-0/+104
| | | | | | | | | | | | | | | | This will allow to track how BT core updates the driver. This is required to debug the BT Coexistence mechanism. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| * iwlwifi: mvm: update SMPS when BT gets activeEmmanuel Grumbach2013-03-061-0/+52
| | | | | | | | | | | | | | | | | | | | When BT traffic load gets higher, we want to avoid using the shared antenna. In order to do so, we need to tell the AP that we don't support MIMO any more, or at least not all the time: in short, use the SMPS to achieve this. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| * iwlwifi: mvm: handle BT-coex notificationEmmanuel Grumbach2013-03-063-0/+58
| | | | | | | | | | | | | | | | | | | | | | | | The BT-Coex notification is sent by the fw when there are updates wrt. BT activity. Driver action might be taken based on the info in this notification. For now, update the Ack/Cts_kill_msk if HID / SCO / A2DP profiles are active. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
OpenPOWER on IntegriCloud