1. 11 5月, 2016 5 次提交
    • S
      iwlwifi: mvm: add reorder timeout per frame · 0690405f
      Sara Sharon 提交于
      Add a timer in order to release expired frames from the
      reorder buffer.
      This is needed since some APs do not retransmit frames
      to fill in the reorder holes and in TCP it results with
      a complete stall of traffic.
      
      This has a few side effects on the general design:
      
      The nssn may not reflect the the head of the reorder buffer.
      This situation is valid, and packets with SN lower than the
      reorder buffer head will be dropped.
      
      Another side effect is that since the reorder timer might expire
      we need to lock the reorder buffer.
      This however is fine since the locking is only inside a
      single reorder buffer between RX path and reorder timeout and
      there is no outside contention.
      Signed-off-by: NSara Sharon <sara.sharon@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      0690405f
    • S
      iwlwifi: mvm: add reorder buffer per queue · b915c101
      Sara Sharon 提交于
      Next hardware will direct packets to core based on the TCP/UDP
      streams.
      This logic can create holes in reorder buffer since packets that
      belong to other stream were directed to a different core.
      However, those are valid holes and the packets can be indicated
      in L3 order.
      
      The hardware will utilize a mechanism of informing the driver of
      the normalized ssn and the driver shall release all packets that
      SN is lower than the nssn.
      This enables managing the reorder across the queues without sharing
      any data between them.
      
      The reorder buffer is allocated and released directly in the RX path
      in order to avoid various races between control path and rx path.
      The code utilizes the internal messaging to notify rx queues of when
      to delete the reorder buffer.
      Signed-off-by: NSara Sharon <sara.sharon@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      b915c101
    • S
      iwlwifi: mvm: add infrastructure for tracking BA session in driver · 10b2b201
      Sara Sharon 提交于
      According to the spec when a BA session is started there
      is a timeout set for the session in the ADDBA request.
      If there is not activity on the TA/TID then the session
      expires and a DELBA is sent.
      In order to check for the timeout, data must be shared
      among the rx queues.
      Add a timer that runs as long as BA session is active
      for the station and stops aggregation session if needed.
      This patch also lays the infrastructure for the reordering
      buffer which will be enabled in the next patches.
      Signed-off-by: NSara Sharon <sara.sharon@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      10b2b201
    • S
      iwlwifi: mvm: change RX sync notification to be an attribute and not a type · d0ff5d22
      Sara Sharon 提交于
      Currently the sync notification is a type of notification. However, it
      is better fitted as an attribute of a notification, since there might
      be another message in the payload (delba for instance) that should be
      sent while control path is waiting for all queues to process.
      Signed-off-by: NSara Sharon <sara.sharon@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      d0ff5d22
    • S
      iwlwifi: mvm: implement driver RX queues sync command · 0636b938
      Sara Sharon 提交于
      mac80211 will call the driver whenever there is a race between
      RSS queues and control path that requires a processing of all
      pending frames in RSS queues.
      Implement that by utilizing the internal notification mechanism:
      queue a message to all queues. When the message is received on
      a queue it decrements the atomic counter. This guarantees that
      all pending frames in the RX queue were processed since the message
      is in order inside the queue.
      Signed-off-by: NSara Sharon <sara.sharon@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      0636b938
  2. 12 4月, 2016 1 次提交
  3. 30 3月, 2016 8 次提交
  4. 20 3月, 2016 1 次提交
  5. 10 3月, 2016 1 次提交
  6. 07 3月, 2016 1 次提交
    • E
      iwlwifi: mvm: avoid panics with thermal device usage · 91f66a3c
      Emmanuel Grumbach 提交于
      Thermal zone device registration can fail, and in this case
      we don't want to remove WiFi functionality. This is why the
      thermal zone registration function is void, and the flows
      continue even if the thermal zone device registration failed.
      Same applies for the cooling device.
      
      This means that we at least need to remember that the thermal
      zone device didn't register properly and take the minimal
      precautions to avoid panic'ing when we access it.
      
      This was missing.
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      91f66a3c
  7. 02 3月, 2016 3 次提交
  8. 28 2月, 2016 9 次提交
  9. 24 2月, 2016 1 次提交
  10. 01 2月, 2016 8 次提交
  11. 08 1月, 2016 2 次提交