1. 01 7月, 2016 1 次提交
  2. 11 5月, 2016 1 次提交
  3. 30 3月, 2016 1 次提交
  4. 28 2月, 2016 1 次提交
  5. 01 2月, 2016 3 次提交
  6. 08 1月, 2016 1 次提交
  7. 22 12月, 2015 1 次提交
  8. 21 12月, 2015 2 次提交
    • E
      iwlwifi: remove unused parameter from grab_nic_access · 23ba9340
      Emmanuel Grumbach 提交于
      All the callers used silent = false.
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      23ba9340
    • E
      iwlwifi: pcie: build an A-MSDU using TSO core · 6eb5e529
      Emmanuel Grumbach 提交于
      When the op_mode sends an skb whose payload is bigger than
      MSS, PCIe will create an A-MSDU out of it. PCIe assumes
      that the skb that is coming from the op_mode can fit in one
      A-MSDU. It is the op_mode's responsibility to make sure
      that this guarantee holds.
      
      Additional headers need to be built for the subframes.
      The TSO core code takes care of the IP / TCP headers and
      the driver takes care of the 802.11 subframe headers.
      
      These headers are stored on a per-cpu page that is re-used
      for all the packets handled on that same CPU. Each skb
      holds a reference to that page and releases the page when
      it is reclaimed. When the page gets full, it is released
      and a new one is allocated.
      
      Since any SKB that doesn't go through the fast-xmit path
      of mac80211 will be segmented, we can assume here that the
      packet is not WEP / TKIP and has a proper SNAP header.
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      6eb5e529
  9. 20 12月, 2015 3 次提交
  10. 13 12月, 2015 5 次提交
  11. 02 12月, 2015 1 次提交
  12. 26 11月, 2015 1 次提交
  13. 18 11月, 2015 1 次提交
  14. 25 10月, 2015 1 次提交
  15. 05 10月, 2015 1 次提交
  16. 16 8月, 2015 1 次提交
  17. 05 8月, 2015 4 次提交
    • 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
    • J
      iwlwifi: pcie: support frag SKBs · 206eea78
      Johannes Berg 提交于
      Allow frag SKBs in PCIe and advertise the maximum number of frags
      to the opmode. As a fallback. linearize the SKB if it exceeds the
      maximum number of fragments. This allows using the hardware better
      (filling more TBs) and should improve performance when used by the
      opmode.
      
      Also adjust tracing to be able to deal with this.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      206eea78
    • 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
  18. 04 8月, 2015 5 次提交
  19. 03 6月, 2015 1 次提交
  20. 28 5月, 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. 02 4月, 2015 1 次提交
  23. 12 3月, 2015 1 次提交
    • E
      iwlwifi: pcie: allow the op_mode to freeze the stuck queue timer · e0b8d405
      Emmanuel Grumbach 提交于
      This allows the op_mode to let the transport know that a
      queue is currently frozen and that its timer should be
      stopped.
      When the queue is unfrozen, its timer should be set to
      expire after the remainder of the timeout has elapsed.
      This can be used when stations go to sleep. When a station
      goes to sleep, the op_mode can freeze the timer so that the
      queue will never be considered as stuck. When the station
      wakes up, the queue will be unfrozen.
      This is meant to avoid false positives that would happen if
      a buggy station goes to sleep for a very long time. In case
      we have a dedicated queue for this station (BA agreement)
      and it goes to sleep for a very long time, the queue would
      rightfully be stopped during all that time. In this case,
      the stuck queue timer could fire and that would be a false
      positive.
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      e0b8d405
  24. 02 3月, 2015 1 次提交
    • E
      iwlwifi: mvm: add framework for triggers for fw dump · d2709ad7
      Emmanuel Grumbach 提交于
      Most of the time, the issues we want to debug with the
      firmware dump mechanism are transient. It is then very
      hard to stop the recording on time and get meaningful
      data.
      In order to solve this, I add here an infrastucture
      of triggers. The user will supply a list of triggers
      that will start / stop the recording. We have two types
      of triggers: start and stop. Start triggers can start a
      specific configuration. The stop triggers will be able to
      kick the collection of the data with the currently running
      configuration. These triggers are given to the driver by
      the .ucode file - just like the configuration.
      
      In the next patches, I'll add triggers in the code.
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      d2709ad7