1. 18 Mar, 2014 5 commits
    • Alexander Bondar's avatar
      iwlwifi: mvm: configure low latency dependent scan parameters · 50df8a30
      Alexander Bondar authored
      In case of system low latency configure passive scan to be fragmented.
      Set the following scan parameters for both immediate and scheduled scan:
       - passive scan fragment duration = 20ms
       - out-of-channel time = 70ms
       - suspend time = 105ms
      Restructure channel's active/passive dwell time configuration to better
      suit the above change.
      
      The idea is that under low latency traffic passive scan is fragmented,
      i.e. that dwell on a particular channel will be fragmented. Each
      fragment dwell time is 20ms and fragments period is 105ms. Skipping to
      next channel will be delayed by the same period (105ms). So suspend_time
      parameter describing both fragments and channels skipping periods is set
      to 105ms. This value is chosen so that overall passive scan duration
      will not be too long. Max_out_time in this case is set to 70ms, so for
      active scanning operating channel will be left for 70ms while for
      passive still for 20ms (fragment dwell).
      Signed-off-by: default avatarAlexander Bondar <alexander.bondar@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      50df8a30
    • Alexander Bondar's avatar
      iwlwifi: mvm: restructure scan parameters calculation · 8a110d9b
      Alexander Bondar authored
      Some scan parameters should be dependent on traffic conditions.
      Centralize conditions verification in one function and obtain
      scan max out-of-channel and suspend time in that new function.
      Rely on bound interfaces indication instead of association state
      to calculate scan parameters. If no bound interfaces use default
      values for out-of-channel and suspend time parameters.
      
      Additionally, get rid of NL80211_SCAN_FLAG_LOW_PRIORITY checks
      since no use case for this exists so far.
      Signed-off-by: default avatarAlexander Bondar <alexander.bondar@intel.com>
      [reword commit log a bit]
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      8a110d9b
    • Johannes Berg's avatar
      iwlwifi: mvm: remove using max_duration in firmware API · 65d66628
      Johannes Berg authored
      The firmware decided to not implement this API in this way,
      so for now remove setting the field completely. This will
      allow the firmware to change how to use this field later.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      65d66628
    • Emmanuel Grumbach's avatar
      iwlwifi: mvm: BT Coex - add debugfs hook to set BT Tx priority · cdb00563
      Emmanuel Grumbach authored
      In order to debug the firmware, we need to be able to set
      the BT priority of WiFi packets. This priority is set based
      on the type of the packet (control frames, EAPOL etc...).
      For debugging purposes, allow to override this priority by
      a debugfs controlled value.
      Enable this feature that needs this priority to be able to
      test it.
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      cdb00563
    • Emmanuel Grumbach's avatar
      iwlwifi: mvm: send udev event upon firmware error to dump logs · 1bd3cbc1
      Emmanuel Grumbach authored
      When the firmware asserts, the driver will dump the firmware
      state to an internal buffer. This buffer is kept aside until
      it is dumped through debugfs. Once an external application
      fetched the data, the buffer is freed and a new buffer can
      be allocated in case another assert occurs.
      
      A udev event is sent to trigger an external application.
      
      A simple rule like:
      DRIVER=="iwlwifi", ACTION=="change", RUN+="/sbin/dump_sram.sh"
      
      can fetch the data from debugfs.
      
      Here is my dump_sram.sh:
      
      phyname=$(basename ${DEVPATH})
      date=$(date +%F_%H_%M)
      filename=/var/log/iwl-sram-${phyname}-${date}.bin
      cat /sys/kernel/debug/ieee80211/${phyname}/iwlwifi/iwlmvm/fw_error_dump > ${filename}
      
      The current SRAM size is 80KB so, currently:
      $ ls -lh iwl-sram-phy0-2014-03-16_13_14.bin
      -rw-r--r-- 1 emmanuel emmanuel 81K Mar 16 13:15 iwl-sram-phy0-2014-03-16_13_14.bin
      
      and after compression:
      $ ls -lh iwl-sram-phy0-2014-03-16_13_14.bin.xz
      -rw-r--r-- 1 emmanuel emmanuel 13K Mar 16 13:15 iwl-sram-phy0-2014-03-16_13_14.bin.xz
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      1bd3cbc1
  2. 16 Mar, 2014 10 commits
  3. 11 Mar, 2014 4 commits
  4. 09 Mar, 2014 12 commits
  5. 28 Feb, 2014 9 commits