An error occurred fetching the project authors.
  1. 04 Aug, 2015 1 commit
    • Johannes Berg's avatar
      iwlwifi: mvm: LRU-assign key offsets · 2dc2a15e
      Johannes Berg authored
      The current key offset assignment algorithm always uses the lowest
      unused key offset, which will potentially lead to issues when the
      firmware will change to take the key material for TX from the key
      table rather than from the TX command.
      
      In order to avoid those issues (and avoid forgetting about them)
      change the key offset allocation algorithm now to avoid reusing key
      offsets quickly.
      
      The new algorithm always picks as the next offset the least recently
      freed offset, i.e. the offset that has been unused for the longest
      amount of time. This is implemented by having a generation counter
      for each key offset that is incremented every time a key is deleted,
      except for the one that's deleted, which is reset to zero. Thus the
      highest counter is the key that's been unused longest.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      2dc2a15e
  2. 28 May, 2015 1 commit
  3. 02 Apr, 2015 1 commit
  4. 30 Mar, 2015 1 commit
  5. 18 Mar, 2015 1 commit
    • Emmanuel Grumbach's avatar
      iwlwifi: mvm: properly flush the queues for buffering transport · fe92e32a
      Emmanuel Grumbach authored
      There are transport that must buffer frames in the driver.
      This means that we have frames that are not in the op_mode
      and not visible to the firwmare. This causes issues when we
      flush the queues: the op_mode flushes a queue, and the
      firmware flushes all the frames that are *currently* on the
      rings, but if the transport buffers frames, it can submit
      these while we are flushing. This leads to a situation
      where we still have frames on the queues after we flushed
      them.
      Preventing those buffered frame from getting into the
      firmware is possible, but then, we have to run the Tx
      response path on frames that didn't reach the firmware
      which is not desirable.
      The way I solve this here is to let these frames go to the
      firmware, but make sure the firmware will not transmit them
      (by setting the station as draining). The op_mode then needs
      to wait until the transport itself is empty to be sure that
      the queue is really empty.
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      fe92e32a
  6. 12 Mar, 2015 2 commits
  7. 01 Feb, 2015 1 commit
  8. 22 Jan, 2015 3 commits
  9. 28 Dec, 2014 2 commits
  10. 24 Nov, 2014 5 commits
  11. 11 Nov, 2014 1 commit
  12. 29 Oct, 2014 1 commit
  13. 21 Sep, 2014 1 commit
  14. 16 Sep, 2014 1 commit
    • Avri Altman's avatar
      iwlwifi: mvm: prepare for scheduler config command · 3edf8ff6
      Avri Altman authored
      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: default avatarAvri Altman <avri.altman@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      3edf8ff6
  15. 14 Sep, 2014 1 commit
  16. 03 Sep, 2014 5 commits
  17. 21 Jul, 2014 2 commits
  18. 07 Jul, 2014 1 commit
  19. 24 Jun, 2014 1 commit
  20. 13 May, 2014 1 commit
  21. 13 Apr, 2014 3 commits
  22. 16 Mar, 2014 1 commit
  23. 11 Mar, 2014 1 commit
  24. 06 Feb, 2014 1 commit
  25. 03 Feb, 2014 1 commit