1. 28 Sep, 2010 4 commits
    • Wey-Yi Guy's avatar
      iwlagn: API v5 for 6050 series device · 62cb3c6a
      Wey-Yi Guy authored
      
      
      For 6050 series device, change the supported API version
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      62cb3c6a
    • Shanyu Zhao's avatar
      iwlwifi: send DC calib config to runtime ucode · 6d6a1afd
      Shanyu Zhao authored
      
      
      Since uCode is responsible for doing DC calibration, there's no need
      to let init uCode to do initial DC calibration then send results
      back to driver, then driver sends the results to runtime uCode.
      Driver can simply tell runtime uCode to do DC calibration.
      
      Actually, this patch does not disable DC calib for init uCode. It just
      prevent driver from saving and sending the DC calib results (from init
      ucode) to runtime uCode. The driver still uses 0xffffffff in
      CALIB_CFG_CMD for init ucode.
      Signed-off-by: default avatarShanyu Zhao <shanyu.zhao@intel.com>
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      6d6a1afd
    • Shanyu Zhao's avatar
      iwlagn: set CSR register for 6050g2 devices · 02796d77
      Shanyu Zhao authored
      
      
      For 6050g2 devices driver needs to set a special bit to CSR register
      so that uCode can do things correctly in calibration routines.
      Signed-off-by: default avatarShanyu Zhao <shanyu.zhao@intel.com>
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      02796d77
    • Shanyu Zhao's avatar
      iwlwifi: add iwl_nic_ops structure to iwl_ops · 6b5ce501
      Shanyu Zhao authored
      
      
      iwlwifi driver supports multiple devices. Since some device needs
      special configuration we create a new iwl_nic_ops structure which is
      configurable per device. Currently there is only one function pointer
      inside this structure: additional_nic_config().
      
      The iwl_nic_ops structure is added to the top level in struct iwl_ops,
      making it easier to change per device. Duplication of the iwl_lib_ops
      structure is no longer needed.
      
      With this new ops the previous function pointer set_calib_version is
      no longer needed since it is just a per device nic configuration.
      
      As part of the code restructuring, a bug is addressed. Indication of
      calib version to uCode is only needed for 6050 devices, however,
      current implementation set calib version for all 6000 devices for
      which DC calib is needed. To fix this, create iwl6050_ops for 6050
      devices and only populate iwl_nic_ops in this structure.
      Signed-off-by: default avatarShanyu Zhao <shanyu.zhao@intel.com>
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      6b5ce501
  2. 17 Sep, 2010 1 commit
  3. 27 Aug, 2010 3 commits
  4. 25 Aug, 2010 13 commits
  5. 24 Aug, 2010 2 commits
  6. 14 Aug, 2010 2 commits
    • Wey-Yi Guy's avatar
      iwlwifi: use long monitor timer to avoid un-necessary reload · 3198c68c
      Wey-Yi Guy authored
      
      
      For 5000 and 6000g2b series of devices, use long monitor timer to check
      stuck tx queues.
      
      .6000g2b series device, it is WiFi/BT combo device, there are some cases,
      tx queues are not move for a period of time because the WiFi/BT coex.
      
      .5000 series device, it is being reported firmware got reload more
      often than necessary, so extend the timer to avoid un-necessary reload.
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      3198c68c
    • Wey-Yi Guy's avatar
      iwlwifi: long monitor timer · ce60659a
      Wey-Yi Guy authored
      
      
      Change the name for monitor timer, also adding define for long monitor
      timer; long monitor timer can be used for the type of devices require longer
      time to determine the uCode is stuck on tx and needed reload.
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      ce60659a
  7. 09 Aug, 2010 1 commit
    • Johannes Berg's avatar
      iwlagn: fix rts cts protection · 94597ab2
      Johannes Berg authored
      
      
      Currently the driver will try to protect all frames,
      which leads to a lot of odd things like sending an
      RTS with a zeroed RA before multicast frames, which
      is clearly bogus.
      
      In order to fix all of this, we need to take a step
      back and see what we need to achieve:
       * we need RTS/CTS protection if requested by
         the AP for the BSS, mac80211 tells us this
       * in that case, CTS-to-self should only be
         enabled when mac80211 tells us
       * additionally, as a hardware workaround, on
         some devices we have to protect aggregated
         frames with RTS
      
      To achieve the first two items, set up the RXON
      accordingly and set the protection required flag
      in the transmit command when mac80211 requests
      protection for the frame.
      
      To achieve the last item, set the rate-control
      RTS-requested flag for all stations that we have
      aggregation sessions with, and set the protection
      required flag when sending aggregated frames (on
      those devices where this is required).
      
      Since otherwise bugs can occur, do not allow the
      user to override the RTS-for-aggregation setting
      from sysfs any more.
      
      Finally, also clean up the way all these flags get
      set in the driver and move everything into the
      device-specific functions.
      
      Cc: stable@kernel.org [2.6.35]
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      94597ab2
  8. 23 Jul, 2010 2 commits
  9. 09 Jul, 2010 1 commit
  10. 02 Jul, 2010 3 commits
    • Wey-Yi Guy's avatar
      iwlwifi: generic parameter define for _agn device · bf3c7fdd
      Wey-Yi Guy authored
      
      
      Code clean up to change name from having 5000 as part of name which easy
      to confuse and think it is for 5000 series devices to more
      generic _agn name since it is being used by multiple _agn devices.
      
      No functional changes.
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
      bf3c7fdd
    • Wey-Yi Guy's avatar
      iwlwifi: add support for device tx flush request · 65550636
      Wey-Yi Guy authored
      
      
      "Flush" request can come from two different sources, it can either from
      mac80211, or from device when the operation is needed. Here
      adding the support for device issue "flush" request.
      
      When receive tx complete with status is TX_STATUS_FAIL_RFKILL_FLUSH,
      issue REPLY_TXFIFO_FLUSH command to uCode to flush out all the tx frames
      in queues.
      
      In this condition, since mac80211 has no knowledge of "flush" operation,
      driver need to stop all the tx queues and wait for the operation
      completed before wake up the queues for frames transmission.
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
      65550636
    • Wey-Yi Guy's avatar
      iwlwifi: add mac80211 flush callback support · 716c74b0
      Wey-Yi Guy authored
      
      
      Adding flush callback support in the driver. Two type of flush can be
      issued by mac80211:
      1. drop = true: frame drop is ok, issue REPLY_TXFIFO_FLUSH host command
      to uCode to drop all the frames in tx fifo queues; then return the
      control back to mac80211
      2. drop = false: wait for either all the frames in tx fifo queues been
      transmitted, or timeout; then return the control back to mac80211
      
      If the flush request coming from mac80211, mac80211 will make sure there
      are no additional frames push down to driver before flush operation is
      completed.
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
      716c74b0
  11. 25 Jun, 2010 3 commits
  12. 06 Jun, 2010 3 commits
  13. 13 May, 2010 2 commits