1. 14 Aug, 2009 2 commits
  2. 04 Aug, 2009 2 commits
  3. 03 Aug, 2009 1 commit
    • Luis R. Rodriguez's avatar
      cfg80211: fix regression on beacon world roaming feature · 37184244
      Luis R. Rodriguez authored
      A regression was added through patch a4ed90d6
      "cfg80211: respect API on orig_flags on channel for beacon hint"
      We did indeed respect _orig flags but the intention was not clearly
      stated in the commit log. This patch fixes firmware issues picked
      up by iwlwifi when we lift passive scan of beaconing restrictions
      on channels its EEPROM has been configured to always enable.
      By doing so though we also disallowed beacon hints on devices
      registering their wiphy with custom world regulatory domains
      enabled, this happens to be currently ath5k, ath9k and ar9170.
      The passive scan and beacon restrictions on those devices would
      never be lifted even if we did find a beacon and the hardware did
      support such enhancements when world roaming.
      Since Johannes indicates iwlwifi firmware cannot be changed to
      allow beacon hinting we set up a flag now to specifically allow
      drivers to disable beacon hints for devices which cannot use them.
      We enable the flag on iwlwifi to disable beacon hints and by default
      enable it for all other drivers. It should be noted beacon hints lift
      passive scan flags and beacon restrictions when we receive a beacon from
      an AP on any 5 GHz non-DFS channels, and channels 12-14 on the 2.4 GHz
      band. We don't bother with channels 1-11 as those channels are allowed
      world wide.
      This should fix world roaming for ath5k, ath9k and ar9170, thereby
      improving scan time when we receive the first beacon from any AP,
      and also enabling beaconing operation (AP/IBSS/Mesh) on cards which
      would otherwise not be allowed to do so. Drivers not using custom
      regulatory stuff (wiphy_apply_custom_regulatory()) were not affected
      by this as the orig_flags for the channels would have been cleared
      upon wiphy registration.
      I tested this with a world roaming ath5k card.
      Cc: Jouni Malinen <jouni.malinen@atheros.com>
      Signed-off-by: default avatarLuis R. Rodriguez <lrodriguez@atheros.com>
      Reviewed-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
  4. 29 Jul, 2009 2 commits
  5. 27 Jul, 2009 3 commits
    • Johannes Berg's avatar
      iwlwifi: fix up command sending · c2acea8e
      Johannes Berg authored
      The current command sending in iwlwifi is a bit of a mess:
       1) there is a struct, iwl_cmd, that contains both driver
          and device data in a single packed structure -- this
          is very confusing
       2) the on-stack data and the command metadata share a
          structure by embedding the latter in the former, which
          is also rather confusing because it leads to weird
          unions and similarly odd constructs
       3) each txq always has enough space for 256 commands,
          even if only 32 end up being used
      This patch fixes these things:
       1) rename iwl_cmd to iwl_device_cmd and keep track of
          command metadata and device command separately, in
          two arrays in each tx queue
       2) remove the 'meta' member from iwl_host_cmd and only
          put in the required members
       3) allocate the cmd/meta arrays separately instead of
          embedding them into the txq structure
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    • Wey-Yi Guy's avatar
      iwlwifi: Thermal Throttling Management - Part 1 · 39b73fb1
      Wey-Yi Guy authored
      Part 1 of Thermal Throttling Management -
      Thermal Throttling feature is used to put NIC into low power state when
      driver detect the Radio temperature reach pre-defined threshold
      Two Thermal Throttling Management Methods; this patch introduce the
      Legacy Thermal Management:
         IWL_TI_0: normal temperature, system power state
         IWL_TI_1: high temperature detect, low power state
         IWL_TI_2: higher temperature detected, lower power state
         IWL_TI_CT_KILL: critical temperature detected, lowest power state
      Once get into CT_KILL state, uCode go into sleep, driver will stop all
      the active queues, then move to IWL_TI_CT_KILL state; also set up 5
      seconds timer to toggle CSR flag, uCode wake up upon CSR flag change,
      then measure the temperature.
      If temperature is above CT_KILL exit threshold, uCode go backto sleep;
      if temperature is below CT_KILL exit threshold, uCode send Card State
      Notification response with appropriate CT_KILL status flag, and uCode
      remain awake, Driver receive Card State Notification Response and update
      the card temperature to the CT_KILL exit threshold.
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    • Wey-Yi Guy's avatar
      iwlwifi: critical temperature enter/exit condition · 672639de
      Wey-Yi Guy authored
      If advance thermal throttling is used the driver need to pass both
      "enter" and "exit" temperature to uCode.
      Using different critical temperature threshold for legacy and advance
      thermal throttling management based on the type of thermal throttling
      method is used except 1000.
      For 1000, it use advance thermal throttling critical temperature
      threshold, but with legacy thermal management implementation until ucode
      has the necessary implementations in place.
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
  6. 24 Jul, 2009 4 commits
    • Wey-Yi Guy's avatar
      iwlwifi: change iwl_enable/disable_interrupts to "inline" · 30a12a8f
      Wey-Yi Guy authored
      iwl_enable_interrupts is being called inside the interrupt,
      change from function call to inline
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    • Reinette Chatre's avatar
      iwlwifi: make debug level more user friendly · a562a9dd
      Reinette Chatre authored
      * Deprecate the "debug50" module parameter used to obtain
        5000 series and up debugging. Replace it with "debug" module
        parameter to match with original driver and be consistent
        between them. The "debug50" module parameter can still be used,
        except that the module parameter is not writable in keeping
        with its previous state. We currently just mark it as "deprecated"
        and do not have it in the feature-removal-schedule. Some more
        cleanup of module parameters needs to be done and can then be
        entered together.
      * Only make "debug" module parameters visible if the driver
        is compiled with CONFIG_IWLWIFI_DEBUG. This will eliminate
        a lot of confusion where users think they have set debug flags
        but yet cannot see any debug output.
      * Make module parameters writable. This eliminates the need for the
        "debug_level" sysfs file, which can now also be deprecated and
        added to feature-removal-schedule. This file is in significant
        use though with many iwlwifi documents and text referring users
        to it. We can thus not take its removal lightly and keep it around.
      With iwlcore shared between iwlagn and iwl3945 we really do not need
      debug module parameters for each but can instead have one debug
      module parameter for the iwlcore module. The same issue is here as
      with the sysfs file - a lot of iwlwifi documentation and text (like
      bug reports) rely on iwlagn and iwl3945 having this module parameter,
      so changing this to a module parameter of iwlcore will have significant
      impact and we do not do this for that reason.
      One consequence of this patch is that if a user is running a system
      with both 3945 and later hardware then the setting of the one module
      parameter will affect the value of the other. The likelihood of this
      seems low - and even if this setup is present it does not seem like an
      issue for both modules to run with the same debug level.
      Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    • Wey-Yi Guy's avatar
      iwlwifi: uCode Alive notification with timeout · 34a66de6
      Wey-Yi Guy authored
      Wait for REPLY_ALIVE notification from init and runtime uCode.
      based on the type of REPLY_ALIVE, different status bit will be set to
      wake up the queue:
      STATUS_INIT_UCODE_ALIVE for init uCode
      STATUS_RT_UCODE_ALIVE for runtime uCode.
      If timeout, attempt to download the failing uCode image again. This can
      only be done for the init ucode images of all iwlagn devices and the
      runtime ucode image of the 5000 series and up. If there is a problem
      with the 4965 runtime ucode coming up we restart the interface and thus
      trigger a new download of the init ucode also.
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    • Johannes Berg's avatar
      iwlwifi: make some logging functions static/unexport · a94ca4e7
      Johannes Berg authored
      iwl_dump_nic_error_log can be static and iwl_dump_nic_event_log
      doesn't need to be exported.
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Acked-by: default avatarReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
  7. 10 Jul, 2009 3 commits
  8. 15 Jun, 2009 4 commits
  9. 10 Jun, 2009 1 commit
  10. 04 Jun, 2009 1 commit
  11. 03 Jun, 2009 2 commits
  12. 22 May, 2009 4 commits
  13. 20 May, 2009 1 commit
  14. 11 May, 2009 6 commits
  15. 06 May, 2009 3 commits
  16. 22 Apr, 2009 1 commit