1. 11 4月, 2017 6 次提交
    • S
      iwlwifi: mvm: add multicast station · 26d6c16b
      Sara Sharon 提交于
      Currently multicast queue is associated with the broadcast
      station.
      
      This raises quite a few issues:
      
      The multicast queue has a special treatment:
      - It is sent in the MAC context command
      - It is excluded from tfd_queue_mask
      
      In DQA mode we end up enabling two queues - the probe response
      queue and the multicast queue - with the same station (broadcast)
      and TID while in DQA mode it should be unique RA-TID.
      Firmware will enforce it for a000 devices, so this allocation
      will fail.
      
      In addition, in a000 devices the FW will set the FIFO and not
      the driver. So there is a need for FW to know when we enable
      the queue that it is multicast queue so it will be bound to
      the multicast FIFO. There is no such way in current design.
      
      In order to simplify driver and firmware handling of this queue
      create a multicast station.
      This solves the unique RA-TID issue in the short term and serves
      as preparation for the long term.
      
      In the long term we will also add a flag marking this station for
      the FW as the multicast station.
      Once we will do that the FW will know this is the multicast queue
      immediately when it is added and bind it to the correct FIFO.
      It will also enable removing the special treatment of the
      queue in the MAC context command.
      Signed-off-by: NSara Sharon <sara.sharon@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      26d6c16b
    • S
      iwlwifi: mvm: cleanup pending frames in DQA mode · 1c17627b
      Sara Sharon 提交于
      When a station is asleep, the fw will set it as "asleep".
      All queues that are used only by one station will be stopped by
      the fw.
      
      In pre-DQA mode this was relevant for aggregation queues. However,
      in DQA mode a queue is owned by one station only, so all queues
      will be stopped.
      As a result, we don't expect to get filtered frames back to
      mac80211 and don't have to maintain the entire pending_frames
      state logic, the same way as we do in aggregations.
      
      The correct behavior is to align DQA behavior with the aggregation
      queue behaviour pre-DQA:
      - Don't count pending frames.
      - Let mac80211 know we have frames in these queues so that it can
      properly handle trigger frames.
      
      When a trigger frame is received, mac80211 tells the driver to send
      frames from the queues using release_buffered_frames.
      The driver will tell the fw to let frames out even if the station
      is asleep. This is done by iwl_mvm_sta_modify_sleep_tx_count.
      Signed-off-by: NSara Sharon <sara.sharon@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      1c17627b
    • J
      iwlwifi: mvm: fix RX SKB header size and align it properly · 5cddd05c
      Johannes Berg 提交于
      When receiving a frame, we currently pull in sizeof(*hdr) plus
      some extra (crypto/snap), which is too much, most headers aren't
      actually sizeof(*hdr) since that takes into account the 4-address
      format but doesn't take into account QoS. As a result, a typical
      frame will have 4 bytes of the payload in the SKB header already.
      
      Fix this by calculating the correct header length, and now that
      we have that, align the end of the SKB header to a multiple of 4
      so that the IP header will be aligned properly when pulled in.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      5cddd05c
    • S
      iwlwifi: mvm: adjust new API of compressed BA · 951cb319
      Sara Sharon 提交于
      Final API has a reserved field - adjust accordingly.
      Signed-off-by: NSara Sharon <sara.sharon@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      951cb319
    • E
      iwlwifi: mvm: add DQA_ENABLE_CMD to the command list · ddef2f98
      Emmanuel Grumbach 提交于
      This will allow to print the name of the commands in the
      logs when we sent it.
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      ddef2f98
    • S
      iwlwifi: mvm: support new binding API · 9415af7f
      Sara Sharon 提交于
      For a000 devices the binding API needs to include relevant
      lmac ID - support the new API.
      The new API should be used regardless if the device had CDB or
      not. If there is no actual CDB support the binding is bound
      to first lmac regardless of the band.
      There are some functionality changes in binding restrictions
      and quota allocations that will be handled in future patches.
      Signed-off-by: NSara Sharon <sara.sharon@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      9415af7f
  2. 08 2月, 2017 10 次提交
  3. 07 2月, 2017 7 次提交
  4. 03 2月, 2017 13 次提交
  5. 26 1月, 2017 4 次提交