1. 30 3月, 2016 2 次提交
    • 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
    • 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. 28 2月, 2016 7 次提交
  4. 01 2月, 2016 2 次提交
    • S
      iwlwifi: mvm: support rss queues configuration command · 43413a97
      Sara Sharon 提交于
      9000 series supports multi-queue rx. The hardware needs
      to be configured with the hash functions to perform and
      indirection table that maps hash results to the relevant
      CPUs\queues.
      Support this configuration.
      Add debugfs hook to configure the indirection table in
      order to enable performance analysis. The configuration
      is stateless, receives a partial or full pattern and sends
      the command to the firmware.
      Signed-off-by: NSara Sharon <sara.sharon@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      43413a97
    • S
      iwlwifi: mvm: support beacon storing · 0db056d3
      Sara Sharon 提交于
      Currently firmware is configured to filter out beacons. In case
      a beacon was changed - it is waking the host.
      However, some vendors change their IEs frequently without any
      significant change, and redundant wakeups are triggered as a
      result.
      As a solution disable beacon filtering when entering d0i3.
      Instead, firmware will store the latest beacon and upon exiting
      d0i3 it will send it up to the host, so the host can act upon
      changes (if there were any).
      This beacon will arrive as a dedicated notification - support it
      as well.
      Signed-off-by: NSara Sharon <sara.sharon@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      0db056d3
  5. 08 1月, 2016 1 次提交
  6. 20 12月, 2015 1 次提交
  7. 13 12月, 2015 1 次提交
  8. 02 12月, 2015 2 次提交
  9. 18 11月, 2015 1 次提交
  10. 25 10月, 2015 1 次提交
  11. 05 10月, 2015 1 次提交
  12. 21 9月, 2015 2 次提交
  13. 28 8月, 2015 1 次提交
  14. 05 8月, 2015 2 次提交
    • M
      iwlwifi: mvm: Add FW paging mechanism for the UMAC on SDIO · e1120187
      Matti Gottlieb 提交于
      Family 8000 products has 2 embedded processors, the first
      known as LMAC (lower MAC) and implements the functionality from
      previous products, the second one is known as UMAC (upper MAC)
      and is used mainly for driver offloads as well as new features.
      The UMAC is typically “less” real-time than the LMAC and is used
      for higher level controls.
      The UMAC's code/data size is estimated to be in the mega-byte arena,
      taking into account the code it needs to replace in the driver and
      the set of new features.
      
      In order to allow the UMAC to execute code that is bigger than its code
      memory, we allow the UMAC embedded processor to page out code pages on
      DRAM.
      
      When the device is slave on the bus(SDIO) the driver saves the UMAC's
      image pages in blocks of 32K in the DRAM and sends the layout of the
      pages to the FW. When the FW wants load / unload pages, it creates an
      interrupt,	and the driver uploads / downloads the page to an address in
      the a specific address on the device's memory.
      
      The driver can support up to 1 MB of pages.
      
      Add paging mechanism for the UMAC on SDIO in order to allow the program to
      use a larger virtual space while using less physical memory on the device
      itself.
      Signed-off-by: NMatti Gottlieb <matti.gottlieb@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      e1120187
    • M
      iwlwifi: mvm: Add FW paging mechanism for the UMAC on PCI · a6c4fb44
      Matti Gottlieb 提交于
      Family 8000 products has 2 embedded processors, the first
      known as LMAC (lower MAC) and implements the functionality from
      previous products, the second one is known as UMAC (upper MAC)
      and is used mainly for driver offloads as well as new features.
      The UMAC is typically “less” real-time than the LMAC and is used
      for higher level controls.
      The UMAC's code/data size is estimated to be in the mega-byte arena,
      taking into account the code it needs to replace in the driver and
      the set of new features.
      
      In order to allow the UMAC to execute code that is bigger than its code
      memory, we allow the UMAC embedded processor to page out code pages on
      DRAM.
      
      When the device is master on the bus(PCI) the driver saves the UMAC's
      image pages in blocks of 32K in the DRAM and sends the layout of the
      pages to the FW. The FW can load / unload the pages on its own.
      
      The driver can support up to 1 MB of pages.
      
      Add paging mechanism for the UMAC on PCI in order to allow the program
      to use a larger virtual space while using less physical memory on the
      device.
      Signed-off-by: NEran Harary <eran.harary@intel.com>
      Signed-off-by: NMatti Gottlieb <matti.gottlieb@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      a6c4fb44
  15. 04 8月, 2015 2 次提交
  16. 03 6月, 2015 2 次提交
  17. 28 5月, 2015 1 次提交
  18. 29 4月, 2015 1 次提交
  19. 19 4月, 2015 1 次提交
    • A
      iwlwifi: mvm: fix Tx Power firmware API · d44c3fe6
      Avri Altman 提交于
      The firmware doesn't relate the scan to a vif. The scan is
      run by a separate entity called auxiliary MAC (aka AUX MAC).
      This AUX MAC needs to get Tx power limitations that are
      not applied on a specific vif, but on the device as a whole.
      
      This can be implemented by using the minimum of all the
      values set by the user for all the MACs. But then we need
      to ignore the limitations that come from the AP or
      regulatory for a specific vif: a specific vif might have
      regulatory limitations because of the channel is works on.
      This limit is irrelevant for the AUX MAC.
      Use the new API from mac80211: the user_power_level in
      bss_conf to achieve this.
      
      Firmware -13.ucode has already moved to this API.
      
      Change-Id: Ifba83660f378e91b93bd46d29fe8ba35a7c168a4
      Signed-off-by: NAvri Altman <avri.altman@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      d44c3fe6
  20. 12 3月, 2015 6 次提交
  21. 01 3月, 2015 2 次提交