1. 02 6月, 2011 2 次提交
    • F
      ath9k: unify edma and non-edma tx code, improve tx fifo handling · fce041be
      Felix Fietkau 提交于
      EDMA based chips (AR9380+) have 8 Tx FIFO slots, which are used to fix the
      tx queue start/stop race conditions which have to be worked around for
      earlier chips by keeping the last descriptor in the queue. The current code
      stores all frames that do not fit onto the 8 FIFO slots in a separate
      list. Whenever a FIFO slot is freed up, the next frame (or A-MPDU) from the
      pending queue gets moved to that slot.
      
      This process is not only inefficient, but also unnecessary. The code can
      be improved visibly by keeping the pending queue fully linked, and moving
      the contents of the entire queue to a FIFO slot as it becomes available.
      
      This patch makes the necessary changes for that and also merges some code
      that was duplicated for EDMA vs non-EDMA. It changes txq->axq_link to point
      to the last descriptor instead of the link pointer, so that
      ath9k_hw_set_desc_link can be used, which works on all chips.
      
      With this patch, a small performance increase for non-aggregated traffic
      was observed on AR9380 based embedded hardware.
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      fce041be
    • M
  2. 27 5月, 2011 1 次提交
  3. 20 5月, 2011 2 次提交
  4. 17 5月, 2011 1 次提交
  5. 12 5月, 2011 2 次提交
  6. 11 5月, 2011 4 次提交
  7. 06 5月, 2011 2 次提交
  8. 27 4月, 2011 1 次提交
  9. 26 4月, 2011 3 次提交
  10. 20 4月, 2011 2 次提交
    • F
      ath9k: assign keycache slots to unencrypted stations · 93ae2dd2
      Felix Fietkau 提交于
      Frame filtering relies on having a valid destination index (keycache slot),
      to keep track of the destination. Assigning a keycache slot (configured
      to unencrypted, with no key data attached) improves powersave handling in
      AP mode with no encryption.
      The dummy keycache entry for a station is cleared, when a real key gets
      added.
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      93ae2dd2
    • F
      ath9k: fix powersave frame filtering/buffering in AP mode · 5519541d
      Felix Fietkau 提交于
      This patch fixes a long standing issue of pending packets in the queue being
      sent (and retransmitted many times) to sleeping stations.
      This was made worse by aggregation through driver-internal retransmitting
      of A-MDPU subframes.
      Previously the hardware tx filter was cleared unconditionally for every
      single packet - with this patch it uses the IEEE80211_TX_CTL_CLEAR_PS_FILT
      for unaggregated frames.
      A sta_notify driver op is added to stop aggregation for stations when they
      enter powersave mode. Subframes stay buffered inside the driver, to ensure
      that the BlockAck window keeps a sane state.
      Since the driver uses software aggregation, the clearing of the tx filter
      needs to be handled by the driver instead of mac80211 for aggregated frames.
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      5519541d
  11. 13 4月, 2011 2 次提交
  12. 09 4月, 2011 1 次提交
  13. 08 4月, 2011 4 次提交
  14. 31 3月, 2011 1 次提交
  15. 29 3月, 2011 1 次提交
  16. 24 3月, 2011 1 次提交
  17. 15 3月, 2011 1 次提交
  18. 01 3月, 2011 1 次提交
  19. 26 2月, 2011 3 次提交
  20. 22 2月, 2011 1 次提交
  21. 16 2月, 2011 1 次提交
  22. 15 2月, 2011 1 次提交
  23. 10 2月, 2011 2 次提交