1. 22 3月, 2020 1 次提交
  2. 11 2月, 2020 1 次提交
    • T
      ath10k: Add support to read btcoex related data from DT · 9f83993e
      Tamizh Chelvam 提交于
      BTCOEX feature is not supported by all QCA4019 chipsets.
      Since btcoex enabled by default in firmware, host needs to
      enable COEX support depends on the hardware. Enabling it
      by default in unsupported hardware will cause some
      feature disabled in hardware.
      This patch will read btcoex_support flag and
      wlan priority gpio pin number from DT. Depends on the
      btcoex_support flag value host will expose BTCOEX support
      and wlan priority gpio pin number to target.
      
      Testing:
      	* Tested HW : QCA4019
      	* Tested FW : 10.4-3.2.1.1-00017
      Signed-off-by: NTamizh Chelvam <tamizhr@codeaurora.org>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      9f83993e
  3. 26 1月, 2020 1 次提交
    • R
      ath10k: Correct the DMA direction for management tx buffers · 6ba8b3b6
      Rakesh Pillai 提交于
      The management packets, send to firmware via WMI, are
      mapped using the direction DMA_TO_DEVICE. Currently in
      case of wmi cleanup, these buffers are being unmapped
      using an incorrect DMA direction. This can cause unwanted
      behavior when the host driver is handling a restart
      of the wlan firmware.
      
      We might see a trace like below
      
      [<ffffff8008098b18>] __dma_inv_area+0x28/0x58
      [<ffffff8001176734>] ath10k_wmi_mgmt_tx_clean_up_pending+0x60/0xb0 [ath10k_core]
      [<ffffff80088c7c50>] idr_for_each+0x78/0xe4
      [<ffffff80011766a4>] ath10k_wmi_detach+0x4c/0x7c [ath10k_core]
      [<ffffff8001163d7c>] ath10k_core_stop+0x58/0x68 [ath10k_core]
      [<ffffff800114fb74>] ath10k_halt+0xec/0x13c [ath10k_core]
      [<ffffff8001165110>] ath10k_core_restart+0x11c/0x1a8 [ath10k_core]
      [<ffffff80080c36bc>] process_one_work+0x16c/0x31c
      
      Fix the incorrect DMA direction during the wmi
      management tx buffer cleanup.
      
      Tested HW: WCN3990
      Tested FW: WLAN.HL.3.1-00784-QCAHLSWMTPLZ-1
      
      Fixes: dc405152 ("ath10k: handle mgmt tx completion event")
      Signed-off-by: NRakesh Pillai <pillair@codeaurora.org>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      6ba8b3b6
  4. 25 11月, 2019 1 次提交
    • W
      ath10k: report rssi of each chain to mac80211 for sdio · 7005eafc
      Wen Gong 提交于
      iw command only show rssi without each chain's rssi on sdio
      iw wlan0 station dump
      Station a0:40:a0:93:3e:de (on wlan0)
      signal:         -82 dBm
      signal avg:     -82 dBm
      
      after this patch, it will show each chain's rssi on sdio
      Station a0:40:a0:93:3e:de (on wlan0)
      signal:         -82 [-84, -88] dBm
      signal avg:     -82 [-84, -87] dBm
      
      For QCA6174 PCIe, the ppdu have the correct rssi of each chain, it
      indicate rssi of rx data by ath10k_htt_rx_h_signal. For sdio chip, the
      rssi of each chain stored in rx management reported by firmware, the
      ath10k_wmi_tlv_op_pull_mgmt_rx_ev which used for tlv wmi will get the
      rssi of each chain and stored them in wmi_mgmt_rx_ev_arg, then indicate
      them to mac80211. For non-tlv wmi chip, it will not get the rssi of each
      chain and not indicate to mac80211, for non-tlv wmi chip, this patch will
      not have impact. For tlv wmi chip, if the rssi of chain in mgmt is valid,
      it will be indicate to mac80211, tested with QCA6174 PCIe/SDIO, the rssi
      of 2 chain in mgmt is valid.
      
      rssi of chains in mgmt of QCA6174 SDIO:
      92096.652780: ath10k:ath10k_log_warn: ath10k_sdio mmc1:0001:1 rssi[0]:70
      92096.657324: ath10k:ath10k_log_warn: ath10k_sdio mmc1:0001:1 rssi[1]:68
      92096.662009: ath10k:ath10k_log_warn: ath10k_sdio mmc1:0001:1 rssi[2]:128
      92096.666647: ath10k:ath10k_log_warn: ath10k_sdio mmc1:0001:1 rssi[3]:128
      
      rssi of chains in mgmt of QCA6174 PCIe:
      [ 1581.049816] ath10k_pci 0000:02:00.0: mgmt rssi[0]:17
      [ 1581.049818] ath10k_pci 0000:02:00.0: mgmt rssi[1]:22
      [ 1581.049821] ath10k_pci 0000:02:00.0: mgmt rssi[2]:128
      [ 1581.049823] ath10k_pci 0000:02:00.0: mgmt rssi[3]:128
      
      after apply this patch, the iw's rssi of PCIe do not changed, result is
      same with before.
      
      iw wlan0 station dump of QCA6174 PCIe:
      Station 6c:e8:73:b8:92:dc (on wlan0)
              signal:         -70 [-77, -72] dBm
              signal avg:     -69 [-78, -72] dBm
      
      iw wlan-5000mhz station dump of QCA9984 PCIe
      connected with 2 client which has 2 chain:
      Station 70:48:0f:1f:1a:b2 (on wlan-5000mhz)
              signal:         -47 [-55, -48, -87, -88] dBm
              signal avg:     -42 [-50, -43, -83, -86] dBm
      Station ac:c1:ee:39:e3:83 (on wlan-5000mhz)
              signal:         -43 [-46, -45, -79, -84] dBm
              signal avg:     -43 [-46, -46, -82, -83] dBm
      
      Tested with QCA6174 SDIO with firmware WLAN.RMH.4.4.1-00017-QCARMSWP-1.
      Tested with QCA6174 PCIe with firmware WLAN.RM.4.4.1-00110-QCARMSWP-1.
      Tested with QCA9984 PCIe with firmware 10.4-3.9.0.2-00040.
      Signed-off-by: NWen Gong <wgong@codeaurora.org>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      7005eafc
  5. 15 10月, 2019 1 次提交
  6. 14 10月, 2019 1 次提交
  7. 03 10月, 2019 1 次提交
    • W
      ath10k: add support for hardware rfkill · 1382993f
      Wen Gong 提交于
      When hardware rfkill is enabled in the firmware it will report the
      capability via using WMI_TLV_SYS_CAP_INFO_RFKILL bit in the WMI_SERVICE_READY
      event to the host. ath10k will check the capability, and if it is enabled then
      ath10k will set the GPIO information to firmware using WMI_PDEV_SET_PARAM. When
      the firmware detects hardware rfkill is enabled by the user, it will report it
      via WMI_RFKILL_STATE_CHANGE_EVENTID. Once ath10k receives the event it will
      send wmi command WMI_PDEV_SET_PARAM to the firmware to enable/disable the radio
      and also notifies cfg80211.
      
      We can't power off the device when rfkill is enabled, as otherwise the
      firmware would not be able to detect GPIO changes and report them to the
      host. So when rfkill is enabled, we need to keep the firmware running.
      
      Tested with QCA6174 PCI with firmware
      WLAN.RM.4.4.1-00109-QCARMSWPZ-1.
      Signed-off-by: NAlan Liu <alanliu@codeaurora.org>
      Signed-off-by: NWen Gong <wgong@codeaurora.org>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      1382993f
  8. 01 10月, 2019 4 次提交
  9. 23 9月, 2019 1 次提交
  10. 07 5月, 2019 1 次提交
  11. 28 2月, 2019 1 次提交
    • S
      ath10k: Fill rx duration for each peer in fw_stats for WCN3990 · f40a307e
      Surabhi Vishnoi 提交于
      Currently, rx_duration for each peer is not getting populated in
      fw_stats debugfs entry for WCN3990.
      
      WCN3990 firmware sends rx duration for each peer as part of
      peer_extd_stats in WMI_UPDATE_STATS_EVENT. To enable peer_extd_stats,
      firmware expects host to send fw_stats_req_mask with flag
      WMI_TLV_PEER_STATS_EXTD set in WMI_REQUEST_STATS_CMD.
      
      Send fw_stats_req_mask with flag WMI_TLV_PEER_STATS_EXTD set in
      WMI_REQUEST_STATS_CMD and parse the peer_extd_stats in
      WMI_UPDATE_STATS_EVENT to populate the rx_duration of each peer
      in fw_stats debugfs entry.
      
      Currently the driver handles 32-bit rx_duration, but the rx_duration
      for WCN3990 can be upto 63 bit. The firmware sends rx_duration split
      into two 32-bit fields, with the upper 32-bits being valid only if its
      MSB is set. This change handles the 63-bit rx_duration obtained from
      WCN3990 and maintain the backward compatibility.
      
      To get the rx_duration of each connected peer :
      cat /sys/kernel/debug/ieee80211/phyX/ath10k/fw_stats
      
      Tested HW: WCN3990
      Tested FW: WLAN.HL.3.1-00784-QCAHLSWMTPLZ-1
      Signed-off-by: NSurabhi Vishnoi <svishnoi@codeaurora.org>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      f40a307e
  12. 26 2月, 2019 1 次提交
  13. 20 2月, 2019 1 次提交
  14. 13 2月, 2019 1 次提交
  15. 12 2月, 2019 2 次提交
    • C
      ath10k: implement set_base_macaddr to fix rx-bssid mask in multiple APs conf · 05e7ba24
      Christian Lamparter 提交于
      Many integrated QCA9984 WiFis in various IPQ806x platform routers
      from various vendors (Netgear R7800, ZyXEL NBG6817, TP-LINK C2600,
      etc.) have either blank, bogus or non-unique MAC-addresses in
      their calibration data.
      
      As a result, OpenWrt utilizes a discouraged binary calibration data
      patching method that allows to modify the device's MAC-addresses right
      at the source. This is because the ath10k' firmware extracts the MAC
      address from the supplied radio/calibration data and issues a response
      to the ath10k linux driver. Which was designed to take the main MAC in
      ath10k_wmi_event_ready().
      
      Part of the "setting an alternate MAC" issue was already tackled by a
      patch from Brian Norris:
      commit 9d580466
      ("ath10k: retrieve MAC address from system firmware if provided")
      by allowing the option to specify an alternate MAC-address with the
      established device_get_mac_address() function which extracts the right
      address from DeviceTree/fwnode mac-address or local-mac-address
      properties and saves it for later.
      
      However, Ben Greear noted that the Qualcomm's ath10k firmware is liable
      to not properly calculate its rx-bssid mask in this case. This can cause
      issues in the popluar "multiple AP with a single ath10k instance"
      configurations.
      
      To improve MAC address handling, Felix Fietkau suggested to call
      pdev_set_base_macaddr_cmdid before bringing up the first vif and
      use the first vif MAC address there. Which is in ath10k_core_start().
      
      This patch implement Felix Fietkau's request to
      "call pdev_set_base_macaddr_cmdid before bringing up the first vif".
      The pdev_set_base_macaddr_cmdid is already declared for all devices
      and version. The driver just needed the support code for this
      function.
      
      Tested on:
      QCA9880/CUS223, firmwares: 10.2.4.13-2, 10.2.4.70.44, 10.2.4-1.0-00041
      QCA9887/MR33 firmware:10.2.4-1.0-00033
      QCA4019/RT-AC58U firmware: 10.4-3.4-00104, 10.4-3.5.3-00057
      QCA9984/R7800 firmware: Candela Technologies (CT) Firmware
      
      BugLink: https://lists.openwrt.org/pipermail/openwrt-devel/2018-November/014595.html
      Fixes: 9d580466 ("ath10k: retrieve MAC address from system firmware if provided")
      Cc: Brian Norris <briannorris@chromium.org>
      Cc: Ben Greear <greearb@candelatech.com>
      Cc: Felix Fietkau <nbd@nbd.name>
      Cc: Mathias Kresin <dev@kresin.me>
      Signed-off-by: NChristian Lamparter <chunkeey@gmail.com>
      Tested-by: NBrian Norris <briannorris@chromium.org>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      05e7ba24
    • A
      ath10k: update GCMP & GCMP-256 cipher suite number for WCN3990 · 7d94f862
      Abhishek Ambure 提交于
      TLV based firmware ex. QCA6174, WCN3990 expects key cipher value
      set to 9 while non-TLV firmware expects key cipher value set to 8
      for enabling GCMP and GCMP-256 cipher suites.
      
      To fix this problem, attach the key cipher suite values based on
      wmi version.
      
      Tested HW: WCN3990
      Tested FW: WLAN.HL.2.0-01188-QCAHLSWMTPLZ-1
      Signed-off-by: NAbhishek Ambure <aambure@codeaurora.org>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      7d94f862
  16. 07 2月, 2019 2 次提交
  17. 08 1月, 2019 1 次提交
  18. 21 12月, 2018 3 次提交
    • B
      ath10k: add support to configure BB timing over wmi · 84758d4d
      Bhagavathi Perumal S 提交于
      Add wmi configuration cmd to configure base band(BB) power amplifier(PA)
      off timing values in hardware. The default PA off timings were fine tuned
      to make proper DFS radar detection in QCA reference design. If ODM uses
      different PA in their design, then the same default PA off timing values
      cannot be used, it requires different settling time to detect radar pulses
      very sooner and avoid radar detection problems. In that case it provides
      provision to select proper PA off timing values based on the PA hardware used.
      The PA component is part of FEM hardware and new device tree entry
      "ext-fem-name" is used to indentify the FEM hardware. And this wmi configuration
      cmd is enabled via wmi service flag "WMI_SERVICE_BB_TIMING_CONFIG_SUPPORT".
      
      Other way is to apply these values through calibration data, but recalibration
      of all boards out there might not be feasible.
      
      This change tested on firmware ver 10.2.4-1.0-00042 in QCA988X chipset.
      Signed-off-by: NBhagavathi Perumal S <bperumal@codeaurora.org>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      84758d4d
    • D
      ath10k: remove an unnecessary NULL check · 27120f2a
      Dan Carpenter 提交于
      The "survey" pointer is the address of an array element.  We know that
      it can't be NULL so this check can be removed.
      Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      27120f2a
    • S
      ath10k: disable 4addr source port learning in 10.4 FW by default · 68c295f2
      Sathishkumar Muruganandam 提交于
      Currently in 10.4 FW, all the received 4addr frames are processed for
      source port learning which is enabled by default. This learning can't be
      disabled by default in FW since it breaks backward compatibility.
      
      Since ath10k uses mac80211 based 4addr mode, source port learning done in
      10.4 FW is redundant and also causes issues when 3addr frames are
      transmitted/received for a 4addr station.
      
      One such visible functional impact is when GTK rekey frame from
      hostapd based AP to 4addr STA is dropped in AP's 10.4 FW. This is since
      GTK rekey EAPOL frame is 3addr frame on AP interface and STA enabled
      with 4addr is already allowed for receiving 3addr EAPOL frames.
      
      Source port learning implementation in 10.4 FW drops this 3addr GTK rekey
      frame in AP destinated for 4addr STA causing disassociation and
      re-association for every GTK rekey session. GTK rekey issue is not seen
      when learning is disabled in FW.
      
      To prevent such issues without breaking backward compatibility, FW
      advertises new service bit making the source port learning configurable and
      this learning is being currently disabled during ath10k vdev creation.
      
      * Tested HW: QCA9984
      * Tested FW: 10.4-3.6.0.1-00004
      Signed-off-by: NSathishkumar Muruganandam <murugana@codeaurora.org>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      68c295f2
  19. 05 11月, 2018 1 次提交
    • R
      ath10k: fill the channel survey results for WCN3990 correctly · 13104929
      Rakesh Pillai 提交于
      The host driver currently expects the channel info event to be
      received in pairs for all the channels, i.e. the first
      chan_info event for a particular channel will not have the
      COMPLETE flag set and the second chan_info event for the
      same channel will have the COMPLETE flag set.
      
      The HL2.0 firmware sends only one channel info event per channel
      which is scanned without the COMPLETE flag set. After sending the
      chan_info_event for all the channels, the HL2.0 firmware sends a
      chan_info_event with COMPLETE flag set to indicate the completion
      of the channel info event.
      
      The firmware does not indicate this behavior with any service bitmap
      and hence a new firmware feature flag is used to handle the modified
      parsing of the channel info events, in the host driver, for the
      firmware which sends single channel info event per scanned channel.
      
      Tested HW: WCN3990
      Tested FW: WLAN.HL.2.0-01188-QCAHLSWMTPLZ-1
      Co-developed-by: NSurabhi Vishnoi <svishnoi@codeaurora.org>
      Signed-off-by: NSurabhi Vishnoi <svishnoi@codeaurora.org>
      Signed-off-by: NRakesh Pillai <pillair@codeaurora.org>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      13104929
  20. 01 10月, 2018 3 次提交
    • M
      ath10k: add debugfs support to get power save state change of STA · d70c0d46
      Maharaja Kennadyrajan 提交于
      This patch helps to get the power save state change of each peer
      connected to the AP. With WMI_10_4_PEER_STA_PS_STATECHG_EVENTID
      event, ps state of each peer is reported to user space via
      debugfs.
      
      Use the below command to get the ps state of each sta:
      cat /sys/kernel/debug/ieee80211/phyX/netdev::wlanX/stations/
      XX:XX:XX:XX:XX:XX/peer_ps_state
      
      If STA is in power save state, we get the peer_ps_state value as 1.
      if STA is not in power save state, we get the peer_ps_state value as 0.
      If ps_state event is disabled, we get the peer_ps_state value as 2.
      
      We can enable/disable the ps_state events using the debugfs flag
      "ps_state_enable"
      
      echo Y > /sys/kernel/debug/ieee80211/phyX/ath10k/ps_state_enable
      
      Y = 1 to enable and Y = 0 to disable
      
      Tested in QCA4019 with firmware ver 10.4-3.2.1.1-00011
      Signed-off-by: NMaharaja Kennadyrajan <mkenna@codeaurora.org>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      d70c0d46
    • R
      ath10k: fix tx status flag setting for management frames · 058a7eab
      Rakesh Pillai 提交于
      The tx_status for management frames is being filled
      incorrectly in the flags of skb_cb. This incorrect
      flag setting causes the upper layers to consider that
      the particular frame was not transmitted properly,
      leading to improper behavior.
      
      Set the IEEE80211_TX_STAT_ACK flag in the info flags
      of skb_cb, to indicate the successful transmission of
      the management frame.
      
      Tested HW: WCN3990
      Tested FW: WLAN.HL.2.0-01188-QCAHLSWMTPLZ-1
      
      Fixes: dc405152Signed-off-by: NRakesh Pillai <pillair@codeaurora.org>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      058a7eab
    • B
      ath10k: fix vdev-start timeout on error · 833fd34d
      Ben Greear 提交于
      The vdev-start-response message should cause the
      completion to fire, even in the error case.  Otherwise,
      the user still gets no useful information and everything
      is blocked until the timeout period.
      
      Add some warning text to print out the invalid status
      code to aid debugging, and propagate failure code.
      Signed-off-by: NBen Greear <greearb@candelatech.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      833fd34d
  21. 07 9月, 2018 2 次提交
    • E
      ath10k: wmi: disable softirq's while calling ieee80211_rx · 37f62c0d
      Erik Stromdahl 提交于
      This is done in order not to trig the below warning in
      ieee80211_rx_napi:
      
      WARN_ON_ONCE(softirq_count() == 0);
      
      ieee80211_rx_napi requires that softirq's are disabled during
      execution.
      
      The High latency bus drivers (SDIO and USB) sometimes call the wmi
      ep_rx_complete callback from non softirq context, resulting in a trigger
      of the above warning.
      
      Calling ieee80211_rx_ni with softirq's already disabled (e.g., from
      softirq context) should be safe as the local_bh_disable and
      local_bh_enable functions (called from ieee80211_rx_ni) are fully
      reentrant.
      Signed-off-by: NErik Stromdahl <erik.stromdahl@gmail.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      37f62c0d
    • K
      ath10k: avoid possible memory access violation · 97c69a70
      K.T.VIJAYAKUMAAR 提交于
      array "ctl_power_table" access index "pream" is initialized with -1 and
      is raised as a static analysis tool issue.
      [drivers\net\wireless\ath\ath10k\wmi.c:4719] ->
      [drivers\net\wireless\ath\ath10k\wmi.c:4730]: (error) Array index -1 is
      out of bounds.
      
      Since the "pream" index for accessing ctl_power_table array is initialized
      with -1, there is a chance of memory access violation for the cases below.
      1) wmi_pdev_tpc_final_table_event change frequency is between 2483 and 5180
      2) pream_idx is out of the enumeration ranges of wmi_tpc_pream_2ghz,
      wmi_tpc_pream_5ghz
      Signed-off-by: NK.T.VIJAYAKUMAAR <vijay.bvb@samsung.com>
      [kvalo@codeaurora.org: clean up the warning message]
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      97c69a70
  22. 04 9月, 2018 1 次提交
  23. 28 8月, 2018 1 次提交
    • M
      ath10k: schedule hardware restart if WMI command times out · a9911937
      Martin Willi 提交于
      When running in AP mode, ath10k sometimes suffers from TX credit
      starvation. The issue is hard to reproduce and shows up once in a
      few days, but has been repeatedly seen with QCA9882 and a large
      range of firmwares, including 10.2.4.70.67.
      
      Once the module is in this state, TX credits are never replenished,
      which results in "SWBA overrun" errors, as no beacons can be sent.
      Even worse, WMI commands run in a timeout while holding the conf
      mutex for three seconds each, making any further operations slow
      and the whole system unresponsive.
      
      The firmware/driver never recovers from that state automatically,
      and triggering TX flush or warm restarts won't work over WMI. So
      issue a hardware restart if a WMI command times out due to missing
      TX credits. This implies a connectivity outage of about 1.4s in AP
      mode, but brings back the interface and the whole system to a usable
      state. WMI command timeouts have not been seen in absent of this
      specific issue, so taking such drastic actions seems legitimate.
      Signed-off-by: NMartin Willi <martin@strongswan.org>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      a9911937
  24. 31 7月, 2018 2 次提交
    • M
      ath10k: add debugfs file warm_hw_reset · db251d7d
      Maharaja Kennadyrajan 提交于
      Debugfs support to do hardware warm reset with WMI command
      WMI_PDEV_PARAM_PDEV_RESET for 10.4 and 10.2.4(if wmi
      service is enabled in the firmware for backward compatibility).
      
      This change is purely for debugging purpose when hardware hangs/mutes.
      
      This hardware reset won't affect the connectivity but there will be small
      pause in data traffic. Here we are doing BB/MAC level reset and hence
      whenever the BB/MAC watchdog is triggered, it does a hardware_chip_reset.
      So the target will be in the active state.
      
      Below command used to warm reset the hardware.
      echo 1 > /sys/kernel/debug/ieee80211/phyX/ath10k/warm_hw_reset
      
      Tested in QCA988X with firmware ver 10.2.4.70.45
      Tested in QCA4019 with firmware ver 10.4-3.2.1.1-00011
      Signed-off-by: NMaharaja Kennadyrajan <mkenna@codeaurora.org>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      db251d7d
    • R
      ath10k: handle mgmt tx completion event · dc405152
      Rakesh Pillai 提交于
      WCN3990 transmits management frames via WMI
      with reference. Currently, with the management
      tx completion not being handled, these frames are
      not getting freed even after the transmission status
      is returned by the firmware.
      
      The transmitted management frames should be freed
      when the firmware sends the over-the-air tx status of
      the corresponding management frames.
      
      Handle the wmi mgmt tx completion event and free
      the corresponding management frame.
      
      Tested HW: WCN3990
      Tested FW: WLAN.HL.2.0-01188-QCAHLSWMTPLZ-1
      Signed-off-by: NRakesh Pillai <pillair@codeaurora.org>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      dc405152
  25. 14 6月, 2018 2 次提交
  26. 13 6月, 2018 1 次提交
  27. 25 5月, 2018 2 次提交
    • S
      ath10k: DFS Host Confirmation · 6f6eb1bc
      Sriram R 提交于
      In the 10.4-3.6 firmware branch there's a new DFS Host confirmation
      feature which is advertised using WMI_SERVICE_HOST_DFS_CHECK_SUPPORT flag.
      
      This new features enables the ath10k host to send information to the
      firmware on the specifications of detected radar type. This allows the
      firmware to validate if the host's radar pattern detector unit is
      operational and check if the radar information shared by host matches
      the radar pulses sent as phy error events from firmware. If the check
      fails the firmware won't allow use of DFS channels on AP mode when using
      FCC regulatory region.
      
      Hence this patch is mandatory when using a firmware from 10.4-3.6 branch.
      Else, DFS channels on FCC regions cannot be used.
      
      Supported Chipsets : QCA9984/QCA9888/QCA4019
      Firmware Version : 10.4-3.6-00104
      Signed-off-by: NSriram R <srirrama@codeaurora.org>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      6f6eb1bc
    • S
      ath: add support to get the detected radar specifications · f40105e6
      Sriram R 提交于
      This enables ath10k/ath9k drivers to collect the specifications of the
      radar type once it is detected by the dfs pattern detector unit.
      Usage of the collected info is specific to driver implementation.
      For example, collected radar info could be used by the host driver
      to send to co-processors for additional processing/validation.
      
      Note: 'radar_detector_specs' data containing the specifications of
      different radar types which was private within dfs_pattern_detector/
      dfs_pri_detector is now shared with drivers as well for making use
      of this information.
      Signed-off-by: NSriram R <srirrama@codeaurora.org>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      f40105e6