1. 30 6月, 2015 5 次提交
  2. 29 5月, 2015 2 次提交
    • M
      ath10k: handle cycle counter wraparound · 587f7031
      Michal Kazior 提交于
      When QCA988X cycle counter HW register wraps
      around it resets to 0x7fffffff instead of 0. All
      other cycle counter related registers are divided
      by 2 so they never wraparound themselves. QCA61X4
      has a uniform CC and it wraparounds in a regular
      fashion though.
      
      Worst case wraparound time is approx 24 seconds
      (2**31 / 88MHz). Since scan channel visit times
      are max 5 seconds (offchannel case) it is
      guaranteed there's been at most 1 wraparound and
      it is possible to compute survey active time
      value. It is, however, impossible to determine the
      point at which Rx Clear Count has been divided by
      two so it is not reported upon wraparound.
      
      This fixes some occasional incorrect survey data
      on QCA988X as some channels (depending on how/when
      scan/offchannel requests were requested) would
      have approx 24 sec active time which wasn't
      actually the case.
      
      This should improve hostapd ACS a little bit.
      Reported-by: NSrinivasa Duvvuri <sduvvuri@chromium.org>
      Signed-off-by: NMichal Kazior <michal.kazior@tieto.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      587f7031
    • M
      ath10k: move cycle_count macro · 0936ea3f
      Michal Kazior 提交于
      The macro isn't WMI specific. Instead it is
      related to hardware chip so move the macro
      accordingly. While at it document the magic value.
      Signed-off-by: NMichal Kazior <michal.kazior@tieto.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      0936ea3f
  3. 02 4月, 2015 1 次提交
    • M
      ath10k: allocate fw resources for iface combinations · 039a0051
      Michal Kazior 提交于
      The number of 3 vdevs wasn't enough to handle the
      worst case for interface combinations in practice.
      
      wpa_supplicant may need up to 4 vifs to have 2
      vifs actually connected, i.e. p2pdev + client + 2x
      p2p (either p2p client or p2p go).
      
      This fixes worst case warning:
      
        Free vdev map is empty, no more interfaces allowed.
      
      This keeps the ability to associate 32 stations in
      AP mode at the cost of not being able to guarantee
      that under all circumstances, i.e. some
      combinations may consume additional fw peer
      entries for internal purposes leaving less
      resource for stations in AP mode.
      Signed-off-by: NMichal Kazior <michal.kazior@tieto.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      039a0051
  4. 30 3月, 2015 5 次提交
  5. 05 3月, 2015 1 次提交
  6. 04 2月, 2015 1 次提交
  7. 27 1月, 2015 1 次提交
    • M
      ath10k: add support for qca6174 · d63955b3
      Michal Kazior 提交于
      The QCA6174 in combination with new wmi-tlv firmware is capable of
      multi-channel, beamforming, tdls and other features.
      
      This patch just makes it possible to boot these devices and do some basic stuff
      like connect to an AP without encryption. Some things may not work or may be
      unreliable. New features will be implemented later. This will be addressed
      eventually with future patches.
      Signed-off-by: NMichal Kazior <michal.kazior@tieto.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      d63955b3
  8. 12 1月, 2015 1 次提交
  9. 23 12月, 2014 1 次提交
  10. 08 12月, 2014 2 次提交
  11. 26 11月, 2014 1 次提交
  12. 23 10月, 2014 1 次提交
  13. 21 10月, 2014 1 次提交
    • K
      ath10k: retrieve calibration data from file · a58227ef
      Kalle Valo 提交于
      A frequent request have been to be able to provide calibration data from a
      file as some of the AP devices store the calibration data on an MTD partition.
      This patchset adds support for that and also makes it easier to add Device Tree
      support later on.
      
      The calibration data is found by using the id string provided by dev_name()
      using this format:
      
      cal-<bus>-<id>.bin
      
      With PCI the id string contains bus, slot and func values. For example for a
      PCI device in bus 2 slot 0, ath10k will try to retrieve a calibration data from
      a file:
      
      /lib/firmware/ath10k/cal-pci-0000:02:00.0.bin
      
      The calibration data sequence is:
      
      1. Check with request_firmware() if there's a calibration file
         ("cal-<bus>-<id>.bin") on the filesystem for this device. If yes, use that. If
         not, goto 2
      
      2. Check if otp.bin is able to successfully load the calibration data
         from OTP. If yes, use that. If not, goto 3.
      
      4. Print an error message that no calibration data found and stop driver
         initialization for this device.
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      a58227ef
  14. 08 10月, 2014 1 次提交
  15. 07 10月, 2014 1 次提交
  16. 26 9月, 2014 1 次提交
  17. 12 9月, 2014 1 次提交
    • K
      ath10k: add testmode · 43d2a30f
      Kalle Valo 提交于
      Add testmode interface for starting and using UTF firmware which is used to run
      factory tests. This is implemented by adding new state ATH10K_STATE_UTF and user
      space can enable this state with ATH10K_TM_CMD_UTF_START command. To go back to
      normal mode user space can send ATH10K_TM_CMD_UTF_STOP.
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      43d2a30f
  18. 25 8月, 2014 1 次提交
  19. 29 7月, 2014 1 次提交
  20. 28 3月, 2014 1 次提交
  21. 13 2月, 2014 1 次提交
  22. 10 1月, 2014 1 次提交
  23. 27 11月, 2013 1 次提交
  24. 08 10月, 2013 1 次提交
  25. 01 10月, 2013 1 次提交
    • K
      ath10k: implement firmware IE container support · 1a222435
      Kalle Valo 提交于
      Firmware IE containers can dynamically provide various information what
      firmware supports. Also it can embed more than one image so updating firmware
      is easy, user just needs to update one file in /lib/firmware/.
      
      The firmware API 2 or higher will use the IE container format, the current API
      1 will not use the new format but it still is supported for some time. FW API 2
      files are named as firmware-2.bin (which contains both firmware and otp images)
      and API 1 files are firmware.bin and otp.bin.
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      1a222435
  26. 27 9月, 2013 2 次提交
  27. 26 9月, 2013 1 次提交
    • M
      ath10k: align RX frames properly · 4d316c79
      Michal Kazior 提交于
      Ethernet-like decapping mode leaves IP protocol
      frame not aligned to 4-byte boundaries. This leads
      to re-aligning in mac80211 which in turn leads to
      poor CPU cache behaviour on some machines.
      
      Since HW doesn't allow to change payload offset
      properly the solution is to force HW to decap in
      Native Wifi mode which always has 24-bytes long
      802.11 header (even for QoS frames). This means IP
      frame is properly aligned in this decap mode.
      Signed-off-by: NMichal Kazior <michal.kazior@tieto.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      4d316c79
  28. 03 9月, 2013 1 次提交
    • K
      ath10k: check chip id from the soc register during probe · e01ae68c
      Kalle Valo 提交于
      ath10k doesn't support qca988x hw1.0 boards anymore. Unfortunately
      the PCI id is the same in hw1.0 and hw2.0 so ath10k tries to use
      hw1.0 boards anyway. But without hw1.0 workarounds in place
      ath10k just crashes horribly.
      
      To avoid using hw1.0 boards at all add a chip id detection
      and fail the probe if hw1.0 is detected:
      
      [ 5265.786408] ath10k: ERROR: qca988x hw1.0 is not supported
      [ 5265.786497] ath10k: Unsupported chip id 0x043200ff
      [ 5265.786574] ath10k: could not register driver core (-95)
      [ 5265.793191] ath10k_pci: probe of 0000:02:00.0 failed with error -95
      
      Also add a warning if there's an unknown chip id but continue
      the boot process normally anyway.
      Reported-by: NZaki Bakar <zaki.bm@gmail.com>
      Tested-by: NChristian Lamparter <chunkeey@googlemail.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      e01ae68c
  29. 15 8月, 2013 1 次提交