1. 10 Mar, 2016 36 commits
  2. 09 Mar, 2016 4 commits
    • Ayala Beker's avatar
      iwlwifi: mvm: update GSCAN capabilities · 5ed47226
      Ayala Beker authored
      Gscan capabilities were updated with new capabilities supported
      by the device. While at it, simplify the firmware support
      conditional and move both conditions into the WARN() to make it
      easier to undertand and use the unlikely() for both.
      Signed-off-by: default avatarAyala Beker <ayala.beker@intel.com>
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      5ed47226
    • Johannes Berg's avatar
      iwlwifi: mvm: don't try to offload AES-CMAC in AP/IBSS modes · 81279c49
      Johannes Berg authored
      The firmware/hardware only supports checking AES-CMAC on RX, not
      using it on TX. For station mode this is fine, since it's the only
      thing it will ever do. For AP mode, it never receives such frames,
      but must be able to transmit them. This is currently broken since
      we try to enable them for hardware crypto (for RX only) and then
      treat them as TX_CMD_SEC_EXT, leading to FIFO underruns during TX
      so the frames never go out to the air.
      
      To fix this, simply use software on TX in AP (and IBSS) mode.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      81279c49
    • Emmanuel Grumbach's avatar
      iwlwifi: mvm: adapt the firmware assert log to new firmware · 7d3ca7f4
      Emmanuel Grumbach authored
      Newer firmware versions put different data in the memory
      which is read by the driver upon firmware crash. Just
      change the variable names in the code and the name of the
      data in the log that we print withouth any functional
      change.
      On older firmware, there will be a mismatch between the
      names that are printed and the content itself, but that's
      harmless.
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      7d3ca7f4
    • Gregory Greenman's avatar
      iwlwifi: pcie: avoid restocks inside rx loop if not emergency · e0e168dc
      Gregory Greenman authored
      When trying to reach high Rx throughput of more than 500Mbps on
      a device with a relatively weak CPU (Atom x5-Z8500), CPU utilization
      may become a bottleneck. Analysis showed that we are looping in
      iwl_pcie_rx_handle for very long periods which led to starvation
      of other threads (iwl_pcie_rx_handle runs with _bh disabled).
      We were handling Rx and allocating new buffers and the new buffers
      were ready quickly enough to be available before we had finished
      handling all the buffers available in the hardware. As a
      consequence, we called iwl_pcie_rxq_restock to refill the hardware
      with the new buffers, and start again handling new buffers without
      exiting the function. Since we read the hardware pointer again when
      we goto restart, new buffers were handled immediately instead of
      exiting the function.
      
      This patch avoids refilling RBs inside rx handling loop, unless an
      emergency situation is reached. It also doesn't read the hardware
      pointer again unless we are in an emergency (unlikely) case.
      This significantly reduce the maximal time we spend in
      iwl_pcie_rx_handle with _bh disabled.
      Signed-off-by: default avatarGregory Greenman <gregory.greenman@intel.com>
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      e0e168dc