An error occurred fetching the project authors.
  1. 28 Apr, 2020 1 commit
  2. 02 Oct, 2019 1 commit
    • Wen Gong's avatar
      ath10k: add support for hardware rfkill · 1382993f
      Wen Gong authored
      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: default avatarAlan Liu <alanliu@codeaurora.org>
      Signed-off-by: default avatarWen Gong <wgong@codeaurora.org>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      1382993f
  3. 23 Sep, 2019 2 commits
  4. 12 Sep, 2019 1 commit
    • Rakesh Pillai's avatar
      ath10k: fix channel info parsing for non tlv target · 6be6c04b
      Rakesh Pillai authored
      The tlv targets such as WCN3990 send more data in the chan info event, which is
      not sent by the non tlv targets. There is a minimum size check in the wmi event
      for non-tlv targets and hence we cannot update the common channel info
      structure as it was done in commit 13104929 ("ath10k: fill the channel
      survey results for WCN3990 correctly"). This broke channel survey results on
      10.x firmware versions.
      
      If the common channel info structure is updated, the size check for chan info
      event for non-tlv targets will fail and return -EPROTO and we see the below
      error messages
      
         ath10k_pci 0000:01:00.0: failed to parse chan info event: -71
      
      Add tlv specific channel info structure and restore the original size of the
      common channel info structure to mitigate this issue.
      
      Tested HW: WCN3990
      	   QCA9887
      Tested FW: WLAN.HL.3.1-00784-QCAHLSWMTPLZ-1
      	   10.2.4-1.0-00037
      
      Fixes: 13104929 ("ath10k: fill the channel survey results for WCN3990 correctly")
      Cc: stable@vger.kernel.org # 5.0
      Signed-off-by: default avatarRakesh Pillai <pillair@codeaurora.org>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      6be6c04b
  5. 25 Jun, 2019 2 commits
  6. 07 May, 2019 2 commits
  7. 28 Feb, 2019 1 commit
    • Surabhi Vishnoi's avatar
      ath10k: Fill rx duration for each peer in fw_stats for WCN3990 · f40a307e
      Surabhi Vishnoi authored
      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: default avatarSurabhi Vishnoi <svishnoi@codeaurora.org>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      f40a307e
  8. 26 Feb, 2019 1 commit
  9. 20 Feb, 2019 1 commit
  10. 11 Feb, 2019 1 commit
  11. 07 Feb, 2019 2 commits
  12. 19 Dec, 2018 1 commit
  13. 05 Nov, 2018 1 commit
    • Rakesh Pillai's avatar
      ath10k: fill the channel survey results for WCN3990 correctly · 13104929
      Rakesh Pillai authored
      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: default avatarSurabhi Vishnoi <svishnoi@codeaurora.org>
      Signed-off-by: default avatarSurabhi Vishnoi <svishnoi@codeaurora.org>
      Signed-off-by: default avatarRakesh Pillai <pillair@codeaurora.org>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      13104929
  14. 13 Oct, 2018 1 commit
    • Wen Gong's avatar
      ath10k: support NET_DETECT WoWLAN feature · ce834e28
      Wen Gong authored
      For WoWLAN support it is expected to support wake up based on discovery of
      one or more known SSIDs. This is the WIPHY_WOWLAN_NET_DETECT feature,
      which shows up as an NL80211 feature flag.
      
      This shows up in 'iw phy' as:
      
      WoWLAN support:
      * wake up on network detection, up to 16 match sets
      
      And it can be enabled with command:
      
      iw phy0 wowlan enable net-detect interval 5000 delay 30 freqs 2412 matches ssid foo
      
      Firmware will do scan by the configured parameters after suspend and
      wakeup if it found matched SSIDs. Tested with QCA6174 hw3.0 with
      firmware WLAN.RM.4.4.1-00110-QCARMSWPZ-1.
      Signed-off-by: default avatarWen Gong <wgong@codeaurora.org>
      [kvalo@codeaurora.org: fix lots of endian bugs, whitespace, commit log and style cleanup]
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      ce834e28
  15. 30 Jul, 2018 2 commits
    • Rakesh Pillai's avatar
      ath10k: handle mgmt tx completion event · dc405152
      Rakesh Pillai authored
      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: default avatarRakesh Pillai <pillair@codeaurora.org>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      dc405152
    • Surabhi Vishnoi's avatar
      ath10k: disable bundle mgmt tx completion event support · 673bc519
      Surabhi Vishnoi authored
      The tx completion of multiple mgmt frames can be bundled
      in a single event and sent by the firmware to host, if this
      capability is not disabled explicitly by the host. If the host
      cannot handle the bundled mgmt tx completion, this capability
      support needs to be disabled in the wmi init cmd, sent to the firmware.
      
      Add the host capability indication flag in the wmi ready command,
      to let firmware know the features supported by the host driver.
      This field is ignored if it is not supported by firmware.
      
      Set the host capability indication flag(i.e. host_capab) to zero,
      for disabling the support of bundle mgmt tx completion. This will
      indicate the firmware to send completion event for every mgmt tx
      completion, instead of bundling them together and sending in a single
      event.
      
      Tested HW: WCN3990
      Tested FW: WLAN.HL.2.0-01188-QCAHLSWMTPLZ-1
      Signed-off-by: default avatarSurabhi Vishnoi <svishnoi@codeaurora.org>
      Signed-off-by: default avatarRakesh Pillai <pillair@codeaurora.org>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      673bc519
  16. 12 May, 2018 1 commit
    • Yu Wang's avatar
      ath10k: add quiet mode support for QCA6174/QCA9377 · cfb353c0
      Yu Wang authored
      To enable thermal throttling for QCA6174 and QCA9377,
      implement gen_pdev_set_quiet_mode for them.
      With this change, quiet period for QCA6174/QCA9377 can
      be also set/get via debugfs.
      Usage:
      To set quiet period:
       echo <period> > /sys/kernel/debug/ieee80211/phyX/ath10k/quiet_period
      To get the current quiet period:
       cat /sys/kernel/debug/ieee80211/phyX/ath10k/quiet_period
      
      This change has been verified with
      QCA6174 hw3.2(fw: WLAN_RM.4.4.1-00102-QCARMSWP-1).
      Signed-off-by: default avatarYu Wang <yyuwang@codeaurora.org>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      cfb353c0
  17. 24 Apr, 2018 2 commits
  18. 29 Mar, 2018 2 commits
  19. 27 Dec, 2017 1 commit
  20. 14 Dec, 2017 2 commits
  21. 13 Jan, 2017 1 commit
  22. 14 Apr, 2016 1 commit
  23. 04 Nov, 2015 1 commit
  24. 01 Apr, 2015 2 commits
  25. 30 Mar, 2015 3 commits
  26. 12 Mar, 2015 1 commit
  27. 07 Mar, 2015 1 commit
  28. 04 Mar, 2015 1 commit
  29. 15 Feb, 2015 1 commit