1. 30 3月, 2016 4 次提交
    • L
      iwlwifi: mvm: support bss dynamic alloc/dealloc of queues · 24afba76
      Liad Kaufman 提交于
      "DQA" is shorthand for "dynamic queue allocation". This
      enables on-demand allocation of queues per RA/TID rather than
      statically allocating per vif, thus allowing a potential
      benefit of various factors.
      
      Please refer to the DOC section this patch adds to sta.h to
      see a more in-depth explanation of this feature.
      
      There are many things to take into consideration when working
      in DQA mode, and this patch is only one in a series. Note that
      default operation mode is non-DQA mode, unless the FW
      indicates that it supports DQA mode.
      
      This patch enables support of DQA for a station connected to
      an AP, and works in a non-aggregated mode.
      
      When a frame for an unused RA/TID arrives at the driver, it
      isn't TXed immediately, but deferred first until a suitable
      queue is first allocated for it, and then TXed by a worker
      that both allocates the queues and TXes deferred traffic.
      
      When a STA is removed, its queues goes back into the queue
      pools for reuse as needed.
      Signed-off-by: NLiad Kaufman <liad.kaufman@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      24afba76
    • E
      iwlwifi: make uapsd_disable module param a bitmap · 11dee0b4
      Emmanuel Grumbach 提交于
      This allows to disable uapsd for BSS only, or P2P client
      separately. Remove the now unneeded
      IWL_MVM_P2P_UAPSD_STANDALONE constant.
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      11dee0b4
    • E
      iwlwifi: mvm: modify the max SP to infinite · 6e2611f3
      Emmanuel Grumbach 提交于
      This makes u-APSD work with more peers.
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      6e2611f3
    • A
      iwlwifi: mvm: add LQM vendor command and notification · 03098268
      Aviya Erenfeld 提交于
      LQM stands for Link Quality Measurement. The firmware
      will collect a defined set of statitics (see the
      notification for details) that allow to know how busy
      the medium is. The driver issues a request to the firmware
      that includes the duration of the measurement (the firmware
      needs to be on channel for that amount of time) and the
      timeout (in case the firmware has a lot of offchannel
      activities). If the timeout elapses, the firmware will
      send partial results which are still valuable.
      In case of disassociation / channel switch and alike, the
      driver is in charge of stopping the measurements and the
      firmware will reply with partial results.
      
      The user space API for now is debugfs only and will be
      implmemented in an upcoming patch.
      Signed-off-by: NAviya Erenfeld <aviya.erenfeld@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      03098268
  2. 20 3月, 2016 1 次提交
  3. 10 3月, 2016 1 次提交
  4. 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
  5. 02 3月, 2016 3 次提交
  6. 28 2月, 2016 9 次提交
  7. 24 2月, 2016 1 次提交
  8. 01 2月, 2016 8 次提交
  9. 08 1月, 2016 2 次提交
  10. 21 12月, 2015 4 次提交
  11. 20 12月, 2015 1 次提交
  12. 16 12月, 2015 1 次提交
    • S
      iwlwifi: mvm: change protocol offload flows · c97dab40
      Sara Sharon 提交于
      RFC4862 states that "In all cases, a node MUST NOT respond to
      a Neighbor Solicitation for a tentative address".
      Currently the driver configures the NS offload and does not wait
      for address to become permanent, thus violating the RFC.
      Just removing the address from the address list is not good enough
      for all cases, since the NS messages are needed for the duplicate
      address detection and should not be discarded.
      
      For d0i3 disable NS offload. Put tentative address in the address
      list so the NS packet will not be filtered out by ucode.
      For D3 the platform will not wake from NS packets - so enable
      NS offload while removing the tentative address from the list.
      
      Given that now NS offload might be disabled, and that the ucode
      uses the IP data for other puroposes (L3 filtering) add two
      independent flags indicating if IPv4\IPv6 data is valid.
      Signed-off-by: NSara Sharon <sara.sharon@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      c97dab40
  13. 13 12月, 2015 3 次提交
    • L
      iwlwifi: replace d0i3_mode and wowlan_d0i3 with more generic variables · b7282643
      Luca Coelho 提交于
      The d0i3_mode variable is used to distinguish between transports that
      handle d0i3 entry during suspend by themselves (i.e. the slave
      transports) and those which rely on the op_mode layer to do it.  The
      reason why the former do it by themselves is that they need to
      transition from d0i3 in runtime_suspend into d0i3 in system-wide
      suspend and this transition needs to happen before the op_mode's
      suspend flow is called.
      
      The wowlan_d0i3 element is also a bit confusing, because it just
      reflects the wowlan->any value for the trans to understand.  This is a
      bit unclear in the code and not generic enough for future use.
      
      To make it clearer and to generalize the platform power mode settings,
      introduce two variables to indicate the platform power management
      modes used by the transport.
      
      Additionally, in order not to take too big a step in one patch, treat
      this new variables semantically in the same way as the old d0i3_mode
      element, introducing a iwl_mvm_enter_d0i3_on_suspend() function to
      help with that.
      
      This commit also adds the foundation for a new concept where the
      firmware configuration state (i.e. D0, D3 or D0i3) is abstracted from
      the platform PM mode we are in (i.e. runtime suspend or system-wide
      suspend).
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      b7282643
    • E
      iwlwifi: avoid d0i3 commands when no/init ucode is loaded · 08f0d23d
      Eliad Peller 提交于
      d0i3 commands are not supported in the init image, so take
      a reference to ensure we don't enter d0i3 during init image,
      and additional checks to prevent d0i3 commands when no
      fw image is loaded.
      
      Add a few WARN_ON_ONCE to the d0i3 enter/exit commands
      to ensure we send d0i3 commands only when the normal
      ucode is loaded.
      Signed-off-by: NEliad Peller <eliadx.peller@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      08f0d23d
    • A
      iwlwifi: mvm: configure scheduled scan according to traffic conditions · 355346ba
      Avraham Stern 提交于
      Change scan configuration (dwell time, suspend time etc.) according
      to traffic conditions. This is useful for scans that are managed by
      the FW (e.g. scheduled scan).
      Signed-off-by: NAvraham Stern <avraham.stern@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      355346ba
  14. 02 12月, 2015 1 次提交