1. 02 12月, 2014 1 次提交
  2. 17 8月, 2013 1 次提交
  3. 14 4月, 2012 1 次提交
  4. 11 4月, 2012 1 次提交
  5. 29 11月, 2011 3 次提交
  6. 09 8月, 2011 3 次提交
  7. 21 7月, 2011 1 次提交
    • P
      ath5k: merge ath5k_hw and ath5k_softc · e0d687bd
      Pavel Roskin 提交于
      Both ath5k_hw and ath5k_softc represent one instance of the hardware.
      This duplication is historical and is not needed anymore.
      
      Keep the name "ath5k_hw" for the merged structure and "ah" for the
      variable pointing to it.  "ath5k_hw" is shorter than "ath5k_softc", more
      descriptive and more widely used.
      
      Put the combined structure to ath5k.h where the old ath5k_softc used to
      be. Move some code from base.h to ath5k.h as needed.
      
      Remove memory allocation for struct ath5k_hw and the corresponding error
      handling.  Merge iobase and ah_iobase fields.
      Signed-off-by: NPavel Roskin <proski@gnu.org>
      Acked-by: NNick Kossifidis <mickflemm@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      e0d687bd
  8. 13 4月, 2011 2 次提交
  9. 29 1月, 2011 1 次提交
    • B
      ath5k: Fix short and long retry configuration · 76a9f6fd
      Bruno Randolf 提交于
      The register definition for retry configuration on AR5212 was wrong, and simply
      copied over from AR5210. Update the register definitions from the documentation.
      
      Let the short and long retries be configured from mac80211 and use the standard
      values of 7 and 4 by default. Also we need to make sure we don't export more
      retries than we are configured for to mac80211 (and the rate module) in
      hw->max_rate_tries.
      
      Also clean up the code by removing unused defines and variables and drop the
      different values for "station retries" - if these need to be different it can
      be handled tru ah_retry_long/short.
      Signed-off-by: NBruno Randolf <br1@einfach.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      76a9f6fd
  10. 08 12月, 2010 1 次提交
  11. 01 12月, 2010 10 次提交
  12. 21 9月, 2010 1 次提交
    • B
      ath5k: Simplify cw_min/max and AIFS configuration · de8af455
      Bruno Randolf 提交于
      Get rid of overly complicated cw_min/max and AIFS configuration:
      
      * Validate values in ath5k_hw_set_tx_queueprops(), so we can use them directly
        without further checks or computation in ath5k_hw_reset_tx_queue().
      
      * Simplifiy by using AR5K_TUNE_AIFS|CWMIN|CWMAX variables directly since we
        don't support XR or B channels. That way we can also remove
        AR5K_TXQ_USEDEFAULT and the confusing logic around it.
      
      * Update data types: AIFS is u8, CW's are u16.
      
      * Remove now unneeded variables in ath5k_hw.
      Signed-off-by: NBruno Randolf <br1@einfach.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      de8af455
  13. 03 6月, 2010 1 次提交
  14. 16 3月, 2010 1 次提交
  15. 10 3月, 2010 1 次提交
  16. 23 1月, 2010 1 次提交
  17. 13 1月, 2010 2 次提交
    • L
      ath5k: Reimplement clock rate to usec conversion · 3578e6eb
      Lukáš Turek 提交于
      The original code was correct in 802.11a mode only, 802.11b/g uses
      different clock rates. The new code uses values taken from FreeBSD HAL
      and should be correct for all modes including turbo modes.
      
      The former rate calculation was used by slope coefficient calculation
      function ath5k_hw_write_ofdm_timings. However, this function requires
      the 802.11a values even in 802.11g mode. Thus the use of
      ath5k_hw_htoclock was replaced by hardcoded values. Possibly the slope
      coefficient calculation is not related to clock rate at all.
      Signed-off-by: NLukas Turek <8an@praha12.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      3578e6eb
    • L
      ath5k: Fix functions for getting/setting slot time · e1aa369e
      Lukáš Turek 提交于
      Functions ath5k_hw_get_slot_time and ath5k_hw_set_slot_time were
      converting microseconds to clocks only for AR5210, although it's needed
      for all supported devices. The conversion was moved outside the
      hardware-specific branches.
      
      The original code also limited minimum slot time to 9, while turbo modes
      use 6, this was fixed too.
      Signed-off-by: NLukas Turek <8an@praha12.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      e1aa369e
  18. 14 8月, 2009 1 次提交
  19. 11 7月, 2009 1 次提交
  20. 07 5月, 2009 1 次提交
    • N
      ath5k: Beaconing fixes · 428cbd4f
      Nick Kossifidis 提交于
      * Write next beacon timer even on AP mode since without this we get
       no beacons + ath9k does it too.  Docs say that we must write 0 on
       this register on AP mode to start TSF increment, we do both to be
       on the safe side.
      
       * Fix num_tx_pending function, we never read the register :P that's
       why we got all those "beacon queue 7 didn't stop messages".
      
       * Put full prioriy on beacon queue, lock all queues with lower
       priority using the arblock and also bypass any arblock by seting
       the arblock ignore flag.
      
       * For the CAB queue (do we need this thing ?, it seems crap) since
       it's supposed to fire up after each beacon (we don't use it on driver
       part, ath9k/MadWiFi does), don't make it DBA gated but instead make
       it fire after each beacon by using the beacon sent gated flag.
      
       * Increase bmiss threshold to 10, that's what we used on MadWiFi for
       a long time. Also when we have pending frames on the beacon queue (we
       got a beacon that didn't make it on the air) it's more likely that
       the beacon queue never started, probably due to faulty DBA setting,
       so change that "beacon queue didn't stop" message.
      
       Tested this with AP mode and IBSS mode and seems to work fine ;-)
      Signed-off-by: NNick Kossifidis <mickflemm@gmail.com>
      Signed-off-by: NBob Copeland <me@bobcopeland.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      428cbd4f
  21. 23 4月, 2009 1 次提交
  22. 30 1月, 2009 1 次提交
  23. 01 11月, 2008 1 次提交
    • N
      ath5k: Update interrupt masking code · 4c674c60
      Nick Kossifidis 提交于
      *Properly get/set all available ISR/IMR values and review common/uncommon bits
      *Better handling of per-txq interrupts (we can now resolve what q is generating
       each interrupt -this will help in debuging wme later)
      *Some minor updates from legacy-hal
      *Properly handle RXNOFRM and TXNOFRM interrupt masking (even when we don't set
       them on IMR they keep showing up, so we disable them by zeroing AR5K_RXNOFRM
       and AR5K_TXNOFRM registers). This doesn't exist on legacy-hal but i've tested
       it on various cards and it works fine.
      
      Changes-Licensed-under: ISC
      Signed-Off-by: NNick Kossifidis <mickflemm@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      4c674c60
  24. 01 10月, 2008 1 次提交
  25. 06 9月, 2008 1 次提交
    • N
      ath5k: HW code cleanup · c6e387a2
      Nick Kossifidis 提交于
       * No code changes...
      
       * Split hw.c to multiple files for better maintenance and add some documentation on each file
         code is going to grow soon (eeprom.c for example is going to get much stuff currently developed
         on ath_info) so it's better this way.
      
       * Rename following functions to maintain naming scheme:
      
           ah_setup_xtx_desc -> ah_setup_mrr_tx_desc
           (Because xtx doesn't say much, it's actually
           a multi-rate-retry tx descriptor)
      
           ath5k_hw_put_tx/rx_buf - > ath5k_hw_set_tx/rxdp
           ath5k_hw_get_tx/rx_buf -> ath5k_hw_get_tx/rxdp
           (We don't put any "buf" we set descriptor pointers on hw)
      
           ath5k_hw_tx_start -> ath5k_hw_start_tx_dma
           ath5k_hw_start_rx -> ath5k_hw_start_rx_dma
           ath5k_hw_stop_pcu_recv -> ath5k_hw_stop_rx_pcu
           (It's easier this way to identify them, we also
           have ath5k_hw_start_rx_pcu which completes the
           set)
      
           ath5k_hw_set_intr -> ath5k_hw_set_imr
           (As in get_isr we set imr here, not "intr")
      
        * Move ath5k_hw_setup_rx_desc on ah->ah_setup_rx_desc so we can
          include support for different rx descriptors in the future
      
        * Further cleanups so that checkpatch doesn't complain
          (only some > 80 col warnings for eeprom.h and reg.h as usual
          due to comments)
      
        Tested on 5211 and 5213 cards and works ok.
      
      Changes-licensed-under: ISC
      Signed-off-by: NNick Kossifidis <mickflemm@gmail.com>
      Acked-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      c6e387a2