1. 12 4月, 2016 2 次提交
    • J
      cfg80211: remove enum ieee80211_band · 57fbcce3
      Johannes Berg 提交于
      This enum is already perfectly aliased to enum nl80211_band, and
      the only reason for it is that we get IEEE80211_NUM_BANDS out of
      it. There's no really good reason to not declare the number of
      bands in nl80211 though, so do that and remove the cfg80211 one.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      57fbcce3
    • M
      iwlwifi: mvm: fix accessing Null pointer during fw dump collection · f742aaf3
      Matti Gottlieb 提交于
      The firwmare file can come with data that is relevant for paging. This
      data is availablet to the firmware upon request, but it stored in the
      host's memory. During the firmware init flow, the driver configures the
      firmware so that the firwmare knows where is the data.
      When paging is used, the variable paging_mem_size is the number of bytes
      that are available through paging. This variable is not zeror-ed if the
      driver fails to configure the paging in the firmware, but the memory is
      freed which is inconsistent.
      This inconsistency led to a NULL pointer dereference in the code that
      collects the debug data.
      
      Fix this by zero-ing the paging_mem_size variable and NULLify the
      relevant pointers, so that the code that collects the debug data will
      know that the paging data is not available.
      Signed-off-by: NMatti Gottlieb <matti.gottlieb@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      f742aaf3
  2. 30 3月, 2016 2 次提交
  3. 20 3月, 2016 3 次提交
  4. 02 3月, 2016 1 次提交
  5. 29 2月, 2016 1 次提交
  6. 28 2月, 2016 3 次提交
  7. 24 2月, 2016 1 次提交
  8. 01 2月, 2016 1 次提交
  9. 08 1月, 2016 1 次提交
  10. 20 12月, 2015 1 次提交
  11. 02 12月, 2015 1 次提交
  12. 18 11月, 2015 1 次提交
  13. 05 10月, 2015 2 次提交
    • L
      iwlwifi: mvm: support using multiple ACs on single HW queue · 4ecafae9
      Liad Kaufman 提交于
      "DQA" is shorthand for "dynamic queue allocation", with the
      idea of allocating queues per-RA/TID on-demand rather than
      using shared queues statically allocated per vif. The goal
      of this is to enable future features (like GO PM) and to
      improve performance measurements of TX traffic.
      
      When RA/TID streams can't be neatly sorted into different AC
      queues, DQA allows sharing queues for the same RA. This means
      that DQA allows different ACs may reach the same HW queue.
      
      Update the code to allow such queue sharing by having a mapping
      between the HW queue and the mac80211 queues using it (as this
      could be more than one queue).
      Signed-off-by: NLiad Kaufman <liad.kaufman@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      4ecafae9
    • A
      iwlwifi: mvm: init card correctly on ctkill exit check · 1a3fe0b2
      Arik Nemtsov 提交于
      During the CT-kill exit flow, the card is powered up and partially
      initialized to check if the temperature is already low enough.
      Unfortunately the init bails early because the CT-kill flag is set.
      Make the code bail early only for HW RF-kill, as was intended by the
      author. CT-kill is self-imposed and is not really RF-kill.
      
      Fixes: 31b8b343 ("iwlwifi: fix RFkill while calibrating")
      Cc: <stable@vger.kernel.org> [3.18+]
      Signed-off-by: NArik Nemtsov <arikx.nemtsov@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      1a3fe0b2
  14. 21 9月, 2015 1 次提交
  15. 05 8月, 2015 5 次提交
    • 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
    • O
      iwlwifi: mvm: add the ability to trigger only monitor dumps · 36fb9017
      Oren Givon 提交于
      Change the FW debug trigger tlv to include a monitor only
      option. Setting this option to true will cause fw dump triggers
      to only collect monitor data and skip other dumps such as
      SMEM, SRAM, CSR, PRPH, etc.
      This option is used when accessing the different parts of the
      firmware memory is not wanted and can cause unwanted behavior
      like when debugging TX latency.
      Signed-off-by: NOren Givon <oren.givon@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      36fb9017
    • D
      iwlwifi: mvm: print secboot status registers on alive timeout · 192de2b4
      Dor Shaish 提交于
      Print the CPU1 and CPU2 secured boot status registers from the NIC
      to indicate a SYSASSERT during secured engine unlocking process
      on init/protocol image.
      Signed-off-by: NDor Shaish <dor.shaish@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      192de2b4
    • 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
    • S
      iwlwifi: add wide firmware command support for notifications · 6eb031d2
      Sara Sharon 提交于
      Add support for extended command id in notification system.
      Extended command id header contains group id in addition to command id.
      Signed-off-by: NSara Sharon <sara.sharon@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      6eb031d2
  16. 04 8月, 2015 3 次提交
  17. 26 6月, 2015 1 次提交
  18. 03 6月, 2015 1 次提交
    • J
      iwlwifi: prepare for higher API/CAPA bits · 859d914c
      Johannes Berg 提交于
      Currently, loading the firmware fails when it has higher API or CAPA
      bits than the driver supports. That's an issue with integration.
      
      At the same time, actually using api[0] and capa[0] will become
      confusing when we also have api[1] and capa[1], and it's almost
      certain that we'll mix up the bits and use the bits for api[1] with
      api[0] by accident.
      
      Avoid all this by translating the API/CAPA bits to the regular kernel
      test_bit() format, and also providing wrapper functions. Also use the
      __bitwise__ facility of sparse to check that we're testing the right
      one.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      859d914c
  19. 28 5月, 2015 1 次提交
  20. 29 4月, 2015 1 次提交
  21. 28 4月, 2015 1 次提交
    • E
      iwlwifi: mvm: don't power off the device between INIT and OPER firmwares · 8d193ca2
      Eran Harary 提交于
      Our device needs two different firmwares: the INIT firmware
      and the operational (OPER) firmware. The first one is run
      when the driver loads and it returns calibrations results
      as well as the NVM. The second one implements the WiFi
      protocol.
      
      If the wlan interface is not brought up, the device is put
      to low power state: no firmware will be running. When the
      interface is brought up, we would run the OPER firmware
      only and reuse the results of the run of the INIT firmware
      when the driver was loaded. This is changing with this
      patch.
      We now run the INIT firmware every time mac80211 calls
      start(). The penalty for that is minimal since the INIT
      firwmare run fast. I now also avoid to power down the device
      between the INIT and OPER firmware on certains buses.
      
      The motivation for this change is that there are components
      on the device (MFUART) that are triggered by the INIT
      firmware and need the device to be powered up in order to
      keep running. Powering the device down between the INIT and
      OPER firmware would stop these components and prevent them
      from running again since they are triggered by the INIT
      firmware only.
      The new flow allows this and also allows to trigger these
      components again when the interface is brought up after
      it has been brought down.
      Signed-off-by: NEran Harary <eran.harary@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      8d193ca2
  22. 19 4月, 2015 1 次提交
  23. 02 4月, 2015 1 次提交
    • J
      iwlwifi: mvm: do string formatting in debug triggers · 5d4f929e
      Johannes Berg 提交于
      The current code has a lot of duplicates of printing into a buffer
      (while having to make sure it's NUL-filled and -terminated) and
      then passing that to the debug trigger collection.
      
      Since that's error-prone, instead make the debug trigger collection
      function take a format string and format arguments (with compiler
      validity checking) and handle the buffer internally.
      
      This makes one behavioural change -- instead of sending the whole
      buffer to userspace (clearing is needed to not leak stack data) it
      just passes the actual string (including NUL-terminator.)
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      5d4f929e
  24. 12 3月, 2015 2 次提交
  25. 02 3月, 2015 2 次提交