1. 29 10月, 2015 1 次提交
    • M
      ath10k: enable adaptive CCA · 62f77f09
      Maharaja 提交于
      European Union has made it mandatory that all devices working in 2.4 GHz
      has to adhere to the ETSI specification (ETSI EN 300 328 V1.9.1)
      beginnig this year. The standard basically speaks about interferences
      in 2.4Ghz band.
      For example, when 802.11 device detects interference, TX must be stopped
      as long as interference is present.
      
      Adaptive CCA is a feature, when enabled the device learns from the
      environment and configures CCA levels adaptively. This will improve
      detecting interferences and the device can stop trasmissions till the
      interference is present eventually leading to good performances in
      varying interference conditions.
      
      The patch includes code for enabling adaptive CCA for 10.2.4 firmware on
      QCA988X.
      Signed-off-by: NMaharaja <c_mkenna@qti.qualcomm.com>
      Signed-off-by: NManikanta Pubbisetty <c_mpubbi@qti.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      62f77f09
  2. 14 10月, 2015 1 次提交
  3. 09 10月, 2015 1 次提交
  4. 06 10月, 2015 4 次提交
    • K
      ath10k: split an unnecessary long line · 2a995088
      Kalle Valo 提交于
      from checkpatch:
      
      drivers/net/wireless/ath/ath10k/mac.c:1113: line over 90 characters
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      2a995088
    • K
      ath10k: fix whitespace usage · 9a14969f
      Kalle Valo 提交于
      checkpatch found:
      
      drivers/net/wireless/ath/ath10k/core.c:574: Blank lines aren't necessary before a close brace '}'
      drivers/net/wireless/ath/ath10k/mac.c:4067: Missing a blank line after declarations
      drivers/net/wireless/ath/ath10k/mac.c:4083: Missing a blank line after declarations
      drivers/net/wireless/ath/ath10k/mac.c:4084: spaces required around that '>>=' (ctx:WxV)
      drivers/net/wireless/ath/ath10k/pci.c:1507: Missing a blank line after declarations
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      9a14969f
    • K
      ath10k: brace style fixes · b9e284e5
      Kalle Valo 提交于
      drivers/net/wireless/ath/ath10k/htt_tx.c:457: braces {} are not necessary for single statement blocks
      drivers/net/wireless/ath/ath10k/htt_tx.c:545: braces {} are not necessary for single statement blocks
      drivers/net/wireless/ath/ath10k/mac.c:200: braces {} are not necessary for single statement blocks
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      b9e284e5
    • K
      ath10k: indentation fixes · 617b0f4d
      Kalle Valo 提交于
      checkpatch found:
      
      drivers/net/wireless/ath/ath10k/core.c:513: Alignment should match open parenthesis
      drivers/net/wireless/ath/ath10k/core.c:1266: code indent should use tabs where possible
      drivers/net/wireless/ath/ath10k/core.c:1267: code indent should use tabs where possible
      drivers/net/wireless/ath/ath10k/core.c:1268: code indent should use tabs where possible
      drivers/net/wireless/ath/ath10k/core.c:1269: code indent should use tabs where possible
      drivers/net/wireless/ath/ath10k/mac.c:4659: Alignment should match open parenthesis
      drivers/net/wireless/ath/ath10k/mac.c:6271: Alignment should match open parenthesis
      drivers/net/wireless/ath/ath10k/pci.c:2260: Alignment should match open parenthesis
      drivers/net/wireless/ath/ath10k/wmi.c:3510: Alignment should match open parenthesis
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      617b0f4d
  5. 27 9月, 2015 1 次提交
  6. 22 9月, 2015 1 次提交
  7. 17 9月, 2015 5 次提交
  8. 09 9月, 2015 2 次提交
  9. 26 8月, 2015 1 次提交
  10. 17 8月, 2015 3 次提交
  11. 13 8月, 2015 6 次提交
  12. 29 7月, 2015 1 次提交
    • D
      ath10k: enable raw encap mode and software crypto engine · ccec9038
      David Liu 提交于
      This patch enables raw Rx/Tx encap mode to support software based
      crypto engine. This patch introduces a new module param 'cryptmode'.
      
       cryptmode:
      
         0: Use hardware crypto engine globally with native Wi-Fi mode TX/RX
            encapsulation to the firmware. This is the default mode.
         1: Use sofware crypto engine globally with raw mode TX/RX
            encapsulation to the firmware.
      
      Known limitation:
         A-MSDU must be disabled for RAW Tx encap mode to perform well when
         heavy traffic is applied.
      
      Testing: (by Michal Kazior <michal.kazior@tieto.com>)
      
           a) Performance Testing
      
            cryptmode=1
             ap=qca988x sta=killer1525
              killer1525  ->  qca988x     194.496 mbps [tcp1 ip4]
              killer1525  ->  qca988x     238.309 mbps [tcp5 ip4]
              killer1525  ->  qca988x     266.958 mbps [udp1 ip4]
              killer1525  ->  qca988x     477.468 mbps [udp5 ip4]
              qca988x     ->  killer1525  301.378 mbps [tcp1 ip4]
              qca988x     ->  killer1525  297.949 mbps [tcp5 ip4]
              qca988x     ->  killer1525  331.351 mbps [udp1 ip4]
              qca988x     ->  killer1525  371.528 mbps [udp5 ip4]
             ap=killer1525 sta=qca988x
              qca988x     ->  killer1525  331.447 mbps [tcp1 ip4]
              qca988x     ->  killer1525  328.783 mbps [tcp5 ip4]
              qca988x     ->  killer1525  375.309 mbps [udp1 ip4]
              qca988x     ->  killer1525  403.379 mbps [udp5 ip4]
              killer1525  ->  qca988x     203.689 mbps [tcp1 ip4]
              killer1525  ->  qca988x     222.339 mbps [tcp5 ip4]
              killer1525  ->  qca988x     264.199 mbps [udp1 ip4]
              killer1525  ->  qca988x     479.371 mbps [udp5 ip4]
      
            Note:
             - only open network tested for RAW vs nwifi performance comparison
             - killer1525 (qca6174 hw2.2) is 2x2 device (hence max 866mbps)
             - used iperf
             - OTA, devices a few cm apart from each other, no shielding
             - tcpX/udpX, X - means number of threads used
      
            Overview:
             - relative Tx performance drop is seen but is within reasonable and
               expected threshold (A-MSDU must be disabled with RAW Tx)
      
           b) Connectivity Testing
      
            cryptmode=1
             ap=iwl6205 sta1=qca988x crypto=open     topology-1ap1sta          OK
             ap=iwl6205 sta1=qca988x crypto=wep1     topology-1ap1sta          OK
             ap=iwl6205 sta1=qca988x crypto=wpa      topology-1ap1sta          OK
             ap=iwl6205 sta1=qca988x crypto=wpa-ccmp topology-1ap1sta          OK
             ap=qca988x sta1=iwl6205 crypto=open     topology-1ap1sta          OK
             ap=qca988x sta1=iwl6205 crypto=wep1     topology-1ap1sta          OK
             ap=qca988x sta1=iwl6205 crypto=wpa      topology-1ap1sta          OK
             ap=qca988x sta1=iwl6205 crypto=wpa-ccmp topology-1ap1sta          OK
             ap=iwl6205 sta1=qca988x crypto=open     topology-1ap1sta2br       OK
             ap=iwl6205 sta1=qca988x crypto=wep1     topology-1ap1sta2br       OK
             ap=iwl6205 sta1=qca988x crypto=wpa      topology-1ap1sta2br       OK
             ap=iwl6205 sta1=qca988x crypto=wpa-ccmp topology-1ap1sta2br       OK
             ap=qca988x sta1=iwl6205 crypto=open     topology-1ap1sta2br       OK
             ap=qca988x sta1=iwl6205 crypto=wep1     topology-1ap1sta2br       OK
             ap=qca988x sta1=iwl6205 crypto=wpa      topology-1ap1sta2br       OK
             ap=qca988x sta1=iwl6205 crypto=wpa-ccmp topology-1ap1sta2br       OK
             ap=iwl6205 sta1=qca988x crypto=open     topology-1ap1sta2br1vlan  OK
             ap=iwl6205 sta1=qca988x crypto=wep1     topology-1ap1sta2br1vlan  OK
             ap=iwl6205 sta1=qca988x crypto=wpa      topology-1ap1sta2br1vlan  OK
             ap=iwl6205 sta1=qca988x crypto=wpa-ccmp topology-1ap1sta2br1vlan  OK
             ap=qca988x sta1=iwl6205 crypto=open     topology-1ap1sta2br1vlan  OK
             ap=qca988x sta1=iwl6205 crypto=wep1     topology-1ap1sta2br1vlan  OK
             ap=qca988x sta1=iwl6205 crypto=wpa      topology-1ap1sta2br1vlan  OK
             ap=qca988x sta1=iwl6205 crypto=wpa-ccmp topology-1ap1sta2br1vlan  OK
      
            Note:
             - each test takes all possible endpoint pairs and pings
             - each pair-ping flushes arp table
             - ip6 is used
      
           c) Testbed Topology:
      
            1ap1sta:
              [ap] ---- [sta]
      
              endpoints: ap, sta
      
            1ap1sta2br:
              [veth0] [ap] ---- [sta] [veth2]
                 |     |          |     |
              [veth1]  |          \   [veth3]
                  \   /            \  /
                  [br0]            [br1]
      
              endpoints: veth0, veth2, br0, br1
              note: STA works in 4addr mode, AP has wds_sta=1
      
            1ap1sta2br1vlan:
              [veth0] [ap] ---- [sta] [veth2]
                 |     |          |     |
              [veth1]  |          \   [veth3]
                  \   /            \  /
                [br0]              [br1]
                  |                  |
                [vlan0_id2]        [vlan1_id2]
      
              endpoints: vlan0_id2, vlan1_id2
              note: STA works in 4addr mode, AP has wds_sta=1
      
      Credits:
      
          Thanks to Michal Kazior <michal.kazior@tieto.com> who helped find the
          amsdu issue, contributed a workaround (already squashed into this
          patch), and contributed the throughput and connectivity tests results.
      Signed-off-by: NDavid Liu <cfliu.tw@gmail.com>
      Signed-off-by: NMichal Kazior <michal.kazior@tieto.com>
      Tested-by: NMichal Kazior <michal.kazior@tieto.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      ccec9038
  13. 24 7月, 2015 1 次提交
  14. 12 7月, 2015 6 次提交
  15. 02 7月, 2015 1 次提交
  16. 30 6月, 2015 1 次提交
  17. 16 6月, 2015 2 次提交
  18. 10 6月, 2015 1 次提交
    • J
      mac80211: convert HW flags to unsigned long bitmap · 30686bf7
      Johannes Berg 提交于
      As we're running out of hardware capability flags pretty quickly,
      convert them to use the regular test_bit() style unsigned long
      bitmaps.
      
      This introduces a number of helper functions/macros to set and to
      test the bits, along with new debugfs code.
      
      The occurrences of an explicit __clear_bit() are intentional, the
      drivers were never supposed to change their supported bits on the
      fly. We should investigate changing this to be a per-frame flag.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      30686bf7
  19. 09 6月, 2015 1 次提交
    • M
      ath10k: fix channel switching · 0e6eb417
      Michal Kazior 提交于
      In the midst of chanctx patch review channel
      switching became broken which I failed to notice
      until now.
      
      Function ath10k_mac_vif_chan() reports current
      chandef which isn't updated until after
      switch_vif_chanctx() is returned from.
      Consequently the driver just restarted operation
      on channels it was residing already instead of
      switching to the new ones.
      
      Fixes: 500ff9f9 ("ath10k: implement chanctx API")
      Signed-off-by: NMichal Kazior <michal.kazior@tieto.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      0e6eb417