1. 14 Dec, 2017 5 commits
    • Anilkumar Kolli's avatar
      ath10k: add per peer tx stats support for 10.2.4 · e8123bb7
      Anilkumar Kolli authored
      10.2.4 firmware branch (used in QCA988X) does not support
      HTT_10_4_T2H_MSG_TYPE_PEER_STATS and that's why ath10k does not provide
      tranmission rate statistics to user space, instead it just shows
      hardcoded 6 Mbit/s. But pktlog firmware facility provides per peer tx
      statistics. The firmware sends one pktlog event for every four
      PPDUs per peer, which include:
      
      * successful number of packets and bytes transmitted
      * number of packets and bytes dropped
      * retried number of packets and bytes
      * rate info per ppdu
      
      Firmware supports WMI_SERVICE_PEER_STATS, pktlog is enabled through
      ATH10K_FLAG_PEER_STATS, which is nowadays enabled by default in ath10k.
      
      This patch does not impact throughput.
      
      Tested on QCA9880 with firmware version 10.2.4.70.48. This should also
      work with firmware branch 10.2.4-1.0-00029
      
      Parse peer stats from pktlog packets and update the tx rate information
      per STA. This way user space can query about transmit rate with iw:
      
      $iw wlan0 station dump
      Station 3c:a9:f4:72:bb:a4 (on wlan1)
              inactive time:  8210 ms
              rx bytes:       9166
              rx packets:     44
              tx bytes:       1105
              tx packets:     9
              tx retries:     0
              tx failed:      1
              rx drop misc:   3
              signal:         -75 [-75, -87, -88] dBm
              signal avg:     -75 [-75, -85, -88] dBm
              tx bitrate:     39.0 MBit/s MCS 10
              rx bitrate:     26.0 MBit/s MCS 3
              rx duration:    23250 us
              authorized:     yes
              authenticated:  yes
              associated:     yes
              preamble:       short
              WMM/WME:        yes
              MFP:            no
              TDLS peer:      no
              DTIM period:    2
              beacon interval:100
              short preamble: yes
              short slot time:yes
              connected time: 22 seconds
      Signed-off-by: default avatarAnilkumar Kolli <akolli@qti.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      e8123bb7
    • Anilkumar Kolli's avatar
      ath10k: move pktlog_filter out of ath10k_debug · 7f9befbb
      Anilkumar Kolli authored
      Move pktlog_filter from struct ath10k_debug to struct ath10k
      so that pktlog can be enabled even when debugfs is not
      enabled, needed to enable peer tx stats for 10.2.4.
      
      No changes in functionality.
      Signed-off-by: default avatarAnilkumar Kolli <akolli@qti.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      7f9befbb
    • Anilkumar Kolli's avatar
      ath10k: remove MAC80211_DEBUGFS dependency on ath10k_sta_statistics · 6a7f8911
      Anilkumar Kolli authored
      Remove CONFIG_MAC80211_DEBUGFS dependency on ath10k_sta_statistics().
      ath10k_sta_statistics() has per sta tx/rx stats and this should not
      be dependent on MAC80211_DEBUGFS.
      
      No changes in functionality.
      Signed-off-by: default avatarAnilkumar Kolli <akolli@qti.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      6a7f8911
    • Rajkumar Manoharan's avatar
      ath10k: unify rx processing in napi_poll · deba1b9e
      Rajkumar Manoharan authored
      With current NAPI implementation, NAPI poll can deliver more frames
      to net core than allotted budget. This may cause warning in napi_poll.
      Remaining quota is not accounted, while processing amsdus in
      rx_in_ord_ind and rx_ind queue. Adding num_msdus at last can not
      prevent delivering more frames to net core. With this change,
      all amdus from both in_ord_ind and rx_ind queues are processed and
      enqueued into common skb list instead of delivering into mac80211.
      Later msdus from common queue are dequeued and delivered depends on
      quota availability. This change also simplifies the rx processing in
      napi poll routine.
      Signed-off-by: default avatarRajkumar Manoharan <rmanohar@qti.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      deba1b9e
    • Balaji Pothunoori's avatar
      ath10k: handling qos at STA side based on AP WMM enable/disable · 07ffb449
      Balaji Pothunoori authored
      Data packets are not sent by STA in case of STA joined to
      non QOS AP (WMM disabled AP). This is happening because of STA
      is sending data packets to firmware from host with qos enabled
      along with non qos queue value(TID = 16).
      Due to qos enabled, firmware is discarding the packet.
      
      This patch fixes this issue by updating the qos based on station
      WME capability field if WMM is disabled in AP.
      
      This patch is required by 10.4 family chipsets like
      QCA4019/QCA9888/QCA9884/QCA99X0.
      Firmware Versoin : 10.4-3.5.1-00018.
      
      For 10.2.4 family chipsets QCA988X/QCA9887 and QCA6174 this patch
      has no effect.
      Signed-off-by: default avatarBalaji Pothunoori <bpothuno@qti.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      07ffb449
  2. 07 Dec, 2017 6 commits
  3. 02 Dec, 2017 17 commits
  4. 30 Nov, 2017 12 commits