1. 21 Nov, 2008 1 commit
    • Ivo van Doorn's avatar
      rt2x00: Cleanup TX/RX entry handling · 798b7adb
      Ivo van Doorn authored
      
      
      Merge the callback functions init_txentry() and
      init_rxentry(). This makes life in rt2x00lib a
      lot simpler and we can cleanup several functions.
      
      rt2x00pci contained "fake" FIELD definitions for
      descriptor words. This is not flexible since it
      assumes the driver will always have the same field
      to indicate if a driver is available or not.
      This should be dependent on the driver, and we
      should add a callback function for this.
      Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      798b7adb
  2. 10 Nov, 2008 2 commits
    • Ivo van Doorn's avatar
      rt2x00: Remove debugfs CSR access wrappers · 743b97ca
      Ivo van Doorn authored
      
      
      Move calculation of CSR register offset into rt2x00debug.c
      and remove the wrapper functions from each individual driver.
      (Except rt2500usb, which still needs to wrap for the
      different value type argument).
      Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      743b97ca
    • Ivo van Doorn's avatar
      rt2x00: Optimize configuration handling · e4ea1c40
      Ivo van Doorn authored
      
      
      Implement latest changed from mac80211 configuration
      handling to optmize configuration handling in rt2x00.
      
       * Remove set_retry_limit callback function, handled
         through config()
       * Move config_antenna to its own callback function,
         it isn't handled by mac80211 anymore
       * Use IEEE80211_CONF_CHANGED_* flags and remove manual
         checks
       * Removed deprecated short slot setting through config()
         and put it in config_erp() through which mac80211 now
         configures it
       * Remove config_phymode() and move contents to config_erp()
         since it only managed the basic rates which is now
         determined by mac80211 through config_erp().
      Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      e4ea1c40
  3. 31 Oct, 2008 1 commit
  4. 27 Oct, 2008 1 commit
  5. 11 Sep, 2008 2 commits
  6. 29 Aug, 2008 1 commit
    • Ivo van Doorn's avatar
      rt2x00: Fix race conditions in flag handling · 0262ab0d
      Ivo van Doorn authored
      
      
      Some of the flags should be accessed atomically to
      prevent race conditions. The flags that are most important
      are those that can change often and indicate the actual
      state of the device, queue or queue entry.
      
      The big flag rename was done to move all state flags to
      the same naming type as the other rt2x00dev flags and
      made sure all places where the flags were used were changed. ;)
      
      Thanks to Stephen for most of the queue flags updates,
      which fixes some of the most obvious consequences of the
      race conditions. Among those the notorious:
      
      rt2x00queue_write_tx_frame: Error - Arrived at non-free entry in the non-full queue 0.
      rt2x00queue_write_tx_frame: Error - Arrived at non-free entry in the non-full queue 0.
      rt2x00queue_write_tx_frame: Error - Arrived at non-free entry in the non-full queue 0.
      Signed-off-by: default avatarStephen Blackheath <tramp.enshrine.stephen@blacksapphire.com>
      Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      0262ab0d
  7. 22 Aug, 2008 1 commit
  8. 14 Jul, 2008 2 commits
  9. 09 Jul, 2008 1 commit
  10. 08 Jul, 2008 1 commit
  11. 26 Jun, 2008 3 commits
  12. 14 Jun, 2008 4 commits
  13. 21 May, 2008 9 commits
  14. 14 May, 2008 1 commit
    • Bruno Randolf's avatar
      mac80211: use hardware flags for signal/noise units · 566bfe5a
      Bruno Randolf authored
      
      
      trying to clean up the signal/noise code. the previous code in mac80211 had
      confusing names for the related variables, did not have much definition of
      what units of signal and noise were provided and used implicit mechanisms from
      the wireless extensions.
      
      this patch introduces hardware capability flags to let the hardware specify
      clearly if it can provide signal and noise level values and which units it can
      provide. this also anticipates possible new units like RCPI in the future.
      
      for signal:
      
        IEEE80211_HW_SIGNAL_UNSPEC - unspecified, unknown, hw specific
        IEEE80211_HW_SIGNAL_DB     - dB difference to unspecified reference point
        IEEE80211_HW_SIGNAL_DBM    - dBm, difference to 1mW
      
      for noise we currently only have dBm:
      
        IEEE80211_HW_NOISE_DBM     - dBm, difference to 1mW
      
      if IEEE80211_HW_SIGNAL_UNSPEC or IEEE80211_HW_SIGNAL_DB is used the driver has
      to provide the maximum value (max_signal) it reports in order for applications
      to make sense of the signal values.
      
      i tried my best to find out for each driver what it can provide and update it
      but i'm not sure (?) for some of them and used the more conservative guess in
      doubt. this can be fixed easily after this patch has been merged by changing
      the hardware flags of the driver.
      
      DRIVER          SIGNAL    MAX	NOISE   QUAL
      -----------------------------------------------------------------
      adm8211         unspec(?) 100   n/a     missing
      at76_usb        unspec(?) (?)   unused  missing
      ath5k           dBm             dBm     percent rssi
      b43legacy       dBm             dBm     percent jssi(?)
      b43             dBm             dBm     percent jssi(?)
      iwl-3945        dBm             dBm     percent snr+more
      iwl-4965        dBm             dBm     percent snr+more
      p54             unspec    127   n/a     missing
      rt2x00          dBm	        n/a     percent rssi+tx/rx frame success
        rt2400        dBm             n/a
        rt2500pci     dBm             n/a
        rt2500usb     dBm             n/a
        rt61pci       dBm             n/a
        rt73usb       dBm             n/a
      rtl8180         unspec(?) 65    n/a     (?)
      rtl8187         unspec(?) 65    (?)     noise(?)
      zd1211          dB(?)     100   n/a     percent
      
      drivers/net/wireless/ath5k/base.c:      Changes-licensed-under: 3-Clause-BSD
      Signed-off-by: default avatarBruno Randolf <br1@einfach.org>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      566bfe5a
  15. 07 May, 2008 2 commits
  16. 01 May, 2008 2 commits
  17. 01 Apr, 2008 2 commits
  18. 25 Mar, 2008 2 commits
  19. 13 Mar, 2008 2 commits
    • Ivo van Doorn's avatar
      rt2x00: Only strip preamble bit in rt2400pci · 8ed09854
      Ivo van Doorn authored
      
      
      Only rt2400pci can have the preamble bit set in the PLCP value,
      for all other drivers it should not be cleared since that will
      conflict with the plcp values for OFDM rates.
      Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      8ed09854
    • Ivo van Doorn's avatar
      rt2x00: Fix rt2400pci signal · 89993890
      Ivo van Doorn authored
      
      
      After sampling hundreds of RX frame descriptors,
      the results were conclusive:
      - The Ralink documentation regarding the SIGNAL and RSSI are wrong.
      
      It turns out that of the 5 BBR registers, we should not use BBR0 and BBR1
      for SIGNAL and RSSI respectively, but actually BBR1 and BBR2.
      BBR0 does show values, but the exact meaning remains unclear,
      but they cannot be translated into a SIGNAL or RSSI field.
      BBR3, BBR4 and BBR5 are always 0, so their meaning is unknown.
      
      As it turns out, the reported SIGNAL is the PLCP value, this
      in contradiction to what was expected looking at rt2500pci which
      only reported the PLCP values for OFDM rates and bitrate values
      for CCK rates.
      
      This means we should let the driver raise the flag about the contents
      of the SIGNAL field so rt2x00lib can always do the right thing based
      on what the driver reports.
      Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      89993890