1. 21 6月, 2012 4 次提交
  2. 17 4月, 2012 1 次提交
  3. 10 4月, 2012 1 次提交
    • R
      ath9k_hw: improve ANI processing and rx desensitizing parameters · 54da20d8
      Rajkumar Manoharan 提交于
      This patch improves ANI operations by switching among the immunity
      levels based on PHY errors and beacon rssi which will adjust receiver
      desensitizing parameters. The changes are
      
      * Configure the Weak Signal Detection based on current immunity value.
      * At highest OFDM immunity level poor performance was observed with
        strong interference. By tuning the FIR step and spur immunity levels
        and not changing any weak signal detection thresholds at any level
        helped to improve the performance.
      * ANI took long time to recover back to lower immunity levels on heavy
        data load. As the listen time got reset to zero before reaching to
        the 5x of aniperiod, the immunity level is not lowering back even
        without any interference. This patch fix that.
      
      Cc: Paul Stewart <pstew@google.com>
      Cc: Susinder Gulasekaran <susinder@qca.qualcomm.com>
      Signed-off-by: NSuresh Chandrasekaran <csuresh@qca.qualcomm.com>
      Signed-off-by: NRajkumar Manoharan <rmanohar@qca.qualcomm.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      54da20d8
  4. 13 2月, 2012 1 次提交
  5. 20 12月, 2011 1 次提交
  6. 01 11月, 2011 1 次提交
  7. 12 10月, 2011 1 次提交
  8. 21 9月, 2011 1 次提交
  9. 30 8月, 2011 1 次提交
  10. 20 5月, 2011 1 次提交
  11. 26 4月, 2011 1 次提交
  12. 08 12月, 2010 2 次提交
  13. 23 11月, 2010 1 次提交
    • J
      ath9k: Use static const · 07b2fa5a
      Joe Perches 提交于
      Using static const generally increases object text and decreases data size.
      It also generally decreases overall object size.
      
         text	   data	    bss	    dec	    hex	filename
        11161	     56	   2136	  13353	   3429	drivers/net/wireless/ath/ath9k/ar9003_paprd.o.new
        11167	     56	   2136	  13359	   342f	drivers/net/wireless/ath/ath9k/ar9003_paprd.o.old
        15428	     56	   3056	  18540	   486c	drivers/net/wireless/ath/ath9k/eeprom_4k.o.old
        15451	     56	   3056	  18563	   4883	drivers/net/wireless/ath/ath9k/eeprom_4k.o.new
        14087	     56	   2560	  16703	   413f	drivers/net/wireless/ath/ath9k/eeprom_9287.o.old
        14036	     56	   2560	  16652	   410c	drivers/net/wireless/ath/ath9k/eeprom_9287.o.new
        10041	     56	   2384	  12481	   30c1	drivers/net/wireless/ath/ath9k/ani.o.new
        10088	     56	   2384	  12528	   30f0	drivers/net/wireless/ath/ath9k/ani.o.old
         9316	   1580	   2304	  13200	   3390	drivers/net/wireless/ath/ath9k/htc_drv_init.o.new
         9316	   1580	   2304	  13200	   3390	drivers/net/wireless/ath/ath9k/htc_drv_init.o.old
        16483	     56	   3432	  19971	   4e03	drivers/net/wireless/ath/ath9k/ar9003_phy.o.new
        16517	     56	   3432	  20005	   4e25	drivers/net/wireless/ath/ath9k/ar9003_phy.o.old
        18221	    104	   2960	  21285	   5325	drivers/net/wireless/ath/ath9k/rc.o.old
        18203	    104	   2960	  21267	   5313	drivers/net/wireless/ath/ath9k/rc.o.new
        19985	     56	   4288	  24329	   5f09	drivers/net/wireless/ath/ath9k/eeprom_def.o.new
        20040	     56	   4288	  24384	   5f40	drivers/net/wireless/ath/ath9k/eeprom_def.o.old
        23997	     56	   4984	  29037	   716d	drivers/net/wireless/ath/ath9k/ar5008_phy.o.old
        23846	     56	   4984	  28886	   70d6	drivers/net/wireless/ath/ath9k/ar5008_phy.o.new
        24285	     56	   3184	  27525	   6b85	drivers/net/wireless/ath/ath9k/ar9003_eeprom.o.old
        24101	     56	   3184	  27341	   6acd	drivers/net/wireless/ath/ath9k/ar9003_eeprom.o.new
         6834	     56	   1032	   7922	   1ef2	drivers/net/wireless/ath/ath9k/ar9002_phy.o.old
         6780	     56	   1032	   7868	   1ebc	drivers/net/wireless/ath/ath9k/ar9002_phy.o.new
        36211	     64	   8624	  44899	   af63	drivers/net/wireless/ath/ath9k/hw.o.new
        36401	     64	   8624	  45089	   b021	drivers/net/wireless/ath/ath9k/hw.o.old
         9281	     56	   1496	  10833	   2a51	drivers/net/wireless/ath/ath9k/ar9003_calib.o.old
         9150	     56	   1496	  10702	   29ce	drivers/net/wireless/ath/ath9k/ar9003_calib.o.new
      
      Use ARRAY_SIZE instead of a magic number.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      07b2fa5a
  14. 16 10月, 2010 2 次提交
  15. 12 10月, 2010 2 次提交
  16. 07 10月, 2010 8 次提交
  17. 15 9月, 2010 1 次提交
  18. 15 6月, 2010 5 次提交
    • L
      ath9k: add new ANI implementation for AR9003 · e36b27af
      Luis R. Rodriguez 提交于
      This adds support for ANI for AR9003. The implementation for
      ANI for AR9003 is slightly different than the one used for
      the older chipset families. It can technically be used for
      the older families as well but this is not yet fully tested
      so we only enable the new ANI for the AR5008, AR9001 and AR9002
      families with a module parameter, force_new_ani.
      
      The old ANI implementation is left intact.
      
      Details of the new ANI implemention:
      
        * ANI adjustment logic is now table driven so that each ANI level
          setting is parameterized. This makes adjustments much more
          deterministic than the old procedure based logic and allows
          adjustments to be made incrementally to several parameters per
          level.
      
        * ANI register settings are now relative to INI values; so ANI
          param zero level == INI value. Appropriate floor and ceiling
          values are obeyed when adjustments are combined with INI values.
      
        * ANI processing is done once per second rather that every 100ms.
          The poll interval is now a set upon hardware initialization and
          can be picked up by the core driver.
      
        * OFDM error and CCK error processing are made in a round robin
          fashion rather than allowing all OFDM adjustments to be made
          before CCK adjustments.
      
        * ANI adjusts MRC CCK off in the presence of high CCK errors
      
        * When adjusting spur immunity (SI) and OFDM weak signal detection,
          ANI now sets register values for the extension channel too
      
        * When adjusting FIR step (ST), ANI now sets register for FIR step
          low too
      
        * FIR step adjustments now allow for an extra level of immunity for
          extremely noisy environments
      
        * The old Noise immunity setting (NI), which changes coarse low, size
          desired, etc have been removed. Changing these settings could affect
          up RIFS RX as well.
      
        * CCK weak signal adjustment is no longer used
      
        * ANI no longer enables phy error interrupts; in all cases phy hw
          counting registers are used instead
      
        * The phy error count (overflow) interrupts are also no longer used
          for ANI adjustments. All ANI adjustments are made via the polling
          routine and no adjustments are possible in the ISR context anymore
      
        * A history settings buffer is now correctly used for each channel;
          channel settings are initialized with the defaults but later
          changes are restored when returning back to that channel
      
        * When scanning, ANI is disabled settings are returned to (INI) defaults.
      
        * OFDM phy error thresholds are now 400 & 1000 (errors/second units) for
          low/high water marks, providing increased stability/hysteresis when
          changing levels.
      
        * Similarly CCK phy error thresholds are now 300 & 600 (errors/second)
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      e36b27af
    • L
      ath9k_hw: inform ANI calibration when scanning · 40346b66
      Luis R. Rodriguez 提交于
      The new ANI implementation will use this to skip ANI
      calibration upon a scan. This cannot be ported to the
      older ANI implementation unless default ANI values from
      the ANI are also used upon a scan. This is essentially
      what one of the things thenew ANI does.
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      40346b66
    • L
      ath9k_hw: allow for spliting up ANI operations by family · ac0bb767
      Luis R. Rodriguez 提交于
      The AR9003 hardware family will use a slightly modified ANI
      implementation which has not yet been tested on the other hardware
      families. To allow for this new ANI implementation a few ANI
      calls need to be abstracted away. This patch just allows for
      each hardware family to declare their own ANI ops and annotates
      the current ANI implementation as old.
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      ac0bb767
    • L
      ath9k_hw: clear MIB interrupt causes when skipping ANI adjustments · 6e97f0fb
      Luis R. Rodriguez 提交于
      We get an MIB interrupt when we hit certain PHY error counter
      thresholds. If ANI is disabled but the MIB interrupt is enabled
      we'll keep around the old MIB interrupt causes.
      
      Since ath9k disables the MIB interrupt when ANI is disabled
      this is not a fix, but more of a sanity fix in case we ever
      need the MIB interrupt enabled but disabling ANI.
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      6e97f0fb
    • L
      ath9k_hw: fix clock rate calculations for ANI · 37e5bf65
      Luis R. Rodriguez 提交于
      The clock rate was assumed to be static but it actually
      changes depending on the mode of operation, correct this
      to help improve the calcuation of the listenTime for ANI.
      This change will help adjust ANI more accurately on different
      PHY thresholds.
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      37e5bf65
  19. 04 6月, 2010 1 次提交
  20. 27 4月, 2010 1 次提交
  21. 17 4月, 2010 3 次提交