1. 29 11月, 2009 6 次提交
    • V
      ath9k: Ensure a fair beacon distribution in IBSS mode. · 94db2936
      Vivek Natarajan 提交于
      Update the beacon queue parameters with best effort queue parameters for
      IBSS mode. This reduces the number of beacons generated by ath9k and
      ensures a fair beacon distribution when there are multiple IBSS stations.
      Also CWmin is quadrupled to achieve the expected percentage of
      distribution.
      Signed-off-by: NVivek Natarajan <vnatarajan@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      94db2936
    • L
      ath9k: Fix maximum tx fifo settings for single stream devices · f4709fdf
      Luis R. Rodriguez 提交于
      Atheros single stream AR9285 and AR9271 have half the PCU TX FIFO
      buffer size of that of dual stream devices. Dual stream devices
      have a max PCU TX FIFO size of 8 KB while single stream devices
      have 4 KB. Single stream devices have an issue though and require
      hardware only to use half of the amount of its capable PCU TX FIFO
      size, 2 KB and this requires a change in software.
      
      Technically a change would not have been required (except for frame
      burst considerations of 128 bytes) if these devices would have been
      able to use the full 4 KB of the PCU TX FIFO size but our systems
      engineers recommend 2 KB to be used only. We enforce this through
      software by reducing the max frame triggger level to 2 KB.
      
      Fixing the max frame trigger level should then have a few benefits:
      
        * The PER will now be adjusted as designed for underruns when the
          max trigger level is reached. This should help alleviate the
          bus as the rate control algorithm chooses a slower rate which
          should ensure frames are transmitted properly under high system
          bus load.
      
        * The poll we use on our TX queues should now trigger and work
          as designed for single stream devices. The hardware passes
          data from each TX queue on the PCU TX FIFO queue respecting each
          queue's priority. The new trigger level ensures this seeding of
          the PCU TX FIFO queue occurs as designed which could mean avoiding
          false resets and actually reseting hw correctly when a TX queue
          is indeed stuck.
      
        * Some undocumented / unsupported behaviour could have been triggered
          when the max trigger level level was being set to 4 KB on single
          stream devices. Its not clear what this issue was to me yet.
      
      Cc: Kyungwan Nam <kyungwan.nam@atheros.com>
      Cc: Bennyam Malavazi <bennyam.malavazi@atheros.com>
      Cc: Stephen Chen <stephen.chen@atheros.com>
      Cc: Shan Palanisamy <shan.palanisamy@atheros.com>
      Cc: Paul Shaw <paul.shaw@atheros.com>
      Signed-off-by: NVasanthakumar Thiagarajan <vasanth@atheros.com>
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      f4709fdf
    • B
      ath9k: Proper padding/unpadding for the TX/RX path. · 1bc14880
      Benoit Papillault 提交于
      Software padding is done on the TX path and software unpadding is done on the
      RX path. This patch corrects the position where the padding occurs. A specific
      function computes the pad position and this function is used in the TX and RX
      path. This patch has been tested by generating every possible 802.11 frames
      with every possible frame_control field and a varying length. This patch is
      useful for analyzing non standard 802.11 frames going over the air
      Signed-off-by: NBenoit Papillault <benoit.papillault@free.fr>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      1bc14880
    • L
      ath9k: fix processing of TX PS null data frames · e7824a50
      Luis R. Rodriguez 提交于
      When mac80211 was telling us to go into Powersave we listened
      and immediately turned RX off. This meant hardware would not
      see the ACKs from the AP we're associated with and hardware
      we'd end up retransmiting the null data frame in a loop
      helplessly.
      
      Fix this by keeping track of the transmitted nullfunc frames
      and only when we are sure the AP has sent back an ACK do we
      go ahead and shut RX off.
      Signed-off-by: NVasanthakumar Thiagarajan <vasanth@atheros.com>
      Signed-off-by: NVivek Natarajan <Vivek.Natarajan@atheros.com>
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      e7824a50
    • F
      ath9k: clean up rc rate table · 1fe8234a
      Felix Fietkau 提交于
      Remove some fields from struct ath_rate_table that are now unused.
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      1fe8234a
    • F
      ath9k: properly use the mac80211 rate control api · 545750d3
      Felix Fietkau 提交于
      This patch changes ath9k to pass proper MCS indexes and flags
      between the RC and the rest of the driver code.
      sc->cur_rate_table remains, as it's used by the RC code internally,
      but the rest of the driver code no longer uses it, so a potential
      new RC for ath9k would not have to update it.
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      545750d3
  2. 26 11月, 2009 1 次提交
  3. 24 11月, 2009 2 次提交
  4. 19 11月, 2009 6 次提交
  5. 17 11月, 2009 1 次提交
  6. 14 11月, 2009 2 次提交
  7. 12 11月, 2009 22 次提交