1. 06 6月, 2010 1 次提交
    • J
      iwlwifi: reduce memory allocation · ff0d91c3
      Johannes Berg 提交于
      Currently, the driver allocates up to 19 skb pointers
      for each TFD, of which we have 256 per queue. This
      means that for each TX queue, we allocate 19k/38k
      (an order 4 or 5 allocation on 32/64 bit respectively)
      just for each queue's "txb" array, which contains only
      the SKB pointers.
      
      However, due to the way we use these pointers only the
      first one can ever be assigned. When the driver was
      initially written, the idea was that it could be
      passed multiple SKBs for each TFD and attach all
      those to implement gather DMA. However, due to
      constraints in the userspace API and lack of TCP/IP
      level checksumming in the device, this is in fact not
      possible. And even if it were, the SKBs would be
      chained, and we wouldn't need to keep pointers to
      each anyway.
      
      Change this to only keep track of one SKB per TFD,
      and thereby reduce memory consumption to just one
      pointer per TFD, which is an order 0 allocation per
      transmit queue.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      ff0d91c3
  2. 05 6月, 2010 1 次提交
  3. 04 6月, 2010 1 次提交
  4. 14 5月, 2010 2 次提交
  5. 11 5月, 2010 3 次提交
  6. 01 5月, 2010 2 次提交
    • D
      iwlwifi: set AMPDU status variables correctly · e3a3cd87
      Daniel Halperin 提交于
      The TX status code is currently abusing the ampdu_ack_map field (a bitmap) to
      count the number of successfully received frames.  The comments in mac80211.h
      show there are actually three different, relevant variables, of which we are
      currently using two, both incorrectly. Fix this by making
      
      - ampdu_ack_len -> the number of ACKed frames (i.e. successes)
      - ampdu_ack_map -> the bitmap
      - ampdu_len -> the total number of frames sent (i.e., attempts)
      
      to match the header file (and verified with ath9k's usage) and updating Intel's
      RS code to match.
      Signed-off-by: NDaniel Halperin <dhalperi@cs.washington.edu>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      e3a3cd87
    • S
      iwlwifi: set correct AC to swq_id for aggregation · c2845d01
      Shanyu Zhao 提交于
      When starting an aggregation session, the swq_id is generated in function
      iwl_virtual_agg_queue_num() where the first parameter is supposed to be
      the Access Class, but it used the tx fifo ID instead. This means the AC
      value stored in swq_id is incorrect. To test this, look at the tx_queue
      file in debugfs while transmitting Best Effort flow (ac=2), it shows:
      hwq 10: read=0 write=0 stop=0 swq_id=0xa9 (ac 1/hwq 10)
      After this fix, it will show:
      hwq 10: read=0 write=0 stop=0 swq_id=0xaa (ac 2/hwq 10)
      Signed-off-by: NShanyu Zhao <shanyu.zhao@intel.com>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      c2845d01
  7. 17 4月, 2010 1 次提交
  8. 10 4月, 2010 1 次提交
  9. 03 4月, 2010 2 次提交
  10. 26 3月, 2010 4 次提交