1. 06 7月, 2016 2 次提交
    • L
      iwlwifi: mvm: support dqa queue sharing · 42db09c1
      Liad Kaufman 提交于
      Support DQA queue sharing when no free queue exists for
      allocation to a STA that already exists. This means that
      a single queue will serve more than a single TID (although
      the RA will be the same for all TIDs served).
      
      We try to choose the lowest AC possible, to ensure the
      shared queues have the lowest possible combined AC
      requirements. The queue to share is chosen only from the
      same RA's DATA queues as follows (in descending priority):
       1. An AC_BE queue
       2. Same AC queue
       3. Highest AC queue that is lower than new AC
       4. Any existing AC (there always is at least 1 DATA queue)
      
      If any aggregations existed for any of the TIDs of the
      shared queue - they are stopped (the FW is notified), but
      no delBA is sent.
      Signed-off-by: NLiad Kaufman <liad.kaufman@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      42db09c1
    • L
      iwlwifi: mvm: support dqa queue inactivation upon timeout · 9794c64f
      Liad Kaufman 提交于
      Support marking queues as inactive upon a timeout expiring,
      and allow inactive queues to be re-assigned to other RA/TIDs
      if no other queue is free.
      
      This is done by keeping a timestamp of the latest frame TXed
      for every RA/TID, and then going over the queues currently in
      use when a new queue is needed, inactivating all those that
      are inactive.
      Signed-off-by: NLiad Kaufman <liad.kaufman@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      9794c64f
  2. 11 5月, 2016 2 次提交
  3. 12 4月, 2016 1 次提交
  4. 30 3月, 2016 3 次提交
  5. 10 3月, 2016 1 次提交
  6. 01 2月, 2016 1 次提交
  7. 20 12月, 2015 1 次提交
  8. 02 12月, 2015 1 次提交
  9. 18 11月, 2015 1 次提交
  10. 05 10月, 2015 1 次提交
    • L
      iwlwifi: mvm: support using multiple ACs on single HW queue · 4ecafae9
      Liad Kaufman 提交于
      "DQA" is shorthand for "dynamic queue allocation", with the
      idea of allocating queues per-RA/TID on-demand rather than
      using shared queues statically allocated per vif. The goal
      of this is to enable future features (like GO PM) and to
      improve performance measurements of TX traffic.
      
      When RA/TID streams can't be neatly sorted into different AC
      queues, DQA allows sharing queues for the same RA. This means
      that DQA allows different ACs may reach the same HW queue.
      
      Update the code to allow such queue sharing by having a mapping
      between the HW queue and the mac80211 queues using it (as this
      could be more than one queue).
      Signed-off-by: NLiad Kaufman <liad.kaufman@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      4ecafae9
  11. 28 8月, 2015 1 次提交
  12. 04 8月, 2015 3 次提交
  13. 03 6月, 2015 1 次提交
    • J
      iwlwifi: prepare for higher API/CAPA bits · 859d914c
      Johannes Berg 提交于
      Currently, loading the firmware fails when it has higher API or CAPA
      bits than the driver supports. That's an issue with integration.
      
      At the same time, actually using api[0] and capa[0] will become
      confusing when we also have api[1] and capa[1], and it's almost
      certain that we'll mix up the bits and use the bits for api[1] with
      api[0] by accident.
      
      Avoid all this by translating the API/CAPA bits to the regular kernel
      test_bit() format, and also providing wrapper functions. Also use the
      __bitwise__ facility of sparse to check that we're testing the right
      one.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      859d914c
  14. 02 4月, 2015 2 次提交
  15. 30 3月, 2015 1 次提交
  16. 12 3月, 2015 1 次提交
  17. 01 3月, 2015 4 次提交
  18. 01 2月, 2015 2 次提交
  19. 22 1月, 2015 1 次提交
  20. 05 1月, 2015 1 次提交
  21. 29 12月, 2014 1 次提交
  22. 29 10月, 2014 1 次提交
  23. 16 9月, 2014 1 次提交
    • A
      iwlwifi: mvm: prepare for scheduler config command · 3edf8ff6
      Avri Altman 提交于
      The scheduler is a HW sub-block that directs the work of the Flow
      Handler by issuing requests for frame transfers, specifying source
      and destination. Its primary function is to allocate flows into the
      TX FIFOs based upon a pre-determined mapping.
      
      The driver has some responsibilities to the scheduler, namely
      initialising and maintaining the hardware registers. This is
      currently done by directly accessing them, which can cause races
      with the firmware also accessing the registers.
      
      To address this problem, change the driver to no longer directly
      access the registers but go through the firmware for this if the
      firmware has support for DQA and thus the new command.
      Signed-off-by: NAvri Altman <avri.altman@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      3edf8ff6
  24. 04 9月, 2014 2 次提交
  25. 08 7月, 2014 2 次提交
  26. 06 7月, 2014 2 次提交