1. 29 11月, 2011 6 次提交
    • N
      ath5k: MRR support and 2GHz radio override belong in ah_capabilities · 86f62d9b
      Nick Kossifidis 提交于
      MRR support and 2GHz radio override belong in ah_capabilities and we
      should use them (e.g. so far  we used to set mrr descriptor without
      checking if MRR support is enabled + we checked for MRR support 2
      times, one by trying to set up an MRR descriptor and another one based
      on MAC version).
      Signed-off-by: NNick Kossifidis <mickflemm@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      86f62d9b
    • N
      ath5k: Add a module parameter to disable hw rf kill switch · 84e1e737
      Nick Kossifidis 提交于
      Add a module parameter to disable hw rf kill switch (GPIO interrupt) because
      in some cases when the card doesn't come with the laptop, EEPROM configuration
      doesn't match laptop's configuration and rf kill interrupt always fires up and
      disables hw. I thought of moving this to debugfs and make it per-card but
      this way it's easier for users and distros to handle.
      Signed-off-by: NNick Kossifidis <mickflemm@gmail.com>
      Tested-by: NPavel Roskin <proski@gnu.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      84e1e737
    • N
      ath5k: Cleanups v2 + add kerneldoc on all hw functions · c47faa36
      Nick Kossifidis 提交于
      No functional changes
      
      Add kernel doc for all ath5k_hw_* functions and strcucts. Also do some cleanup,
      rename ath5k_hw_init_beacon to ath5k_hw_init_beacon_timers, remove an unused
      variable from ath5k_hw_pcu_init and a few obsolete macros, mostly related to XR.
      Signed-off-by: NNick Kossifidis <mickflemm@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      c47faa36
    • N
      ath5k: Calibration re-work · ce169aca
      Nick Kossifidis 提交于
      Noise floor calibration does not interfere with traffic and should run more
      often as part of our "short calibration". The full calibration is not the
      noise floor calibration but the AGC + Gain_F (on RF5111 and RF5112) calibration
      and should run less often because it does interfere with traffic.
      
      So
      
      Short calibration -> I/Q & NF Calibration
      Long calibration -> Short + AGC + Gain_F
      
      This patch was for some time on my pub/ dir on www.kernel.org and has been tested
      by a few people and me. I think it's O.K. to go in.
      
      I also changed ah_calibration to ah_iq_cal_needed to make more sense.
      
      v2 Use a workqueue instead of a tasklet for calibration
      Signed-off-by: NNick Kossifidis <mickflemm@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      ce169aca
    • N
      ath5k: Cleanups v1 · 34ce644a
      Nick Kossifidis 提交于
      No functional changes, just a few comments/documentation/cleanup
      Signed-off-by: NNick Kossifidis <mickflemm@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      34ce644a
    • N
      ath5k: Switch from read-and-clear to write-to-clear method when handling PISR/SISR registers · 7ff7c82e
      Nick Kossifidis 提交于
      Since card has 12 tx queues and we want to keep track of the interrupts
      per queue we can't fit all these interrupt bits on a single register.
      So we have 5 registers, the primary interrupt status register (PISR) and
      the 4 secondary interupt status registers (SISRs).
      
      In order to be able to read them all at once (atomic operation) Atheros
      introduced the Read-And-Clear registers to make things easier. So when
      reading RAC_PISR register, hw does a read on PISR and all SISRs, returns
      the value of PISR, copies all SISR values to their shadow copies (RAC_SISRx)
      and clears PISR and SISRs. This saves us from reading PISR/SISRs in a sequence.
      
      So far we 've used this approach and MadWiFi/Windows driver etc also used it
      for years.
      
      It turns out this operation is not atomic after all (at least not on all cards)
      That means it's possible to loose some interrupts because they came after the
      copy step and hw cleared them on the clean step !
      
      That's probably the reason we got missed beacons, got stuck queues etc and
      couldn't figure out what was going on.
      
      With this patch we switch from RaC operation to an alternative method (that
      makes more sense IMHO anyway, I just chose to be on the safe side so far).
      Instead of reading RAC registers, we read the normal PISR/SISR registers and
      clear any bits we got by writing them back on the register. This will clear only
      the bits we got on our read step and leave any new bits unaffected (at least
      that's what docs say). So if any new interrupts come up we won't miss it.
      
      I've tested this with an AR5213 and an AR2425 and it seems O.K.
      
      Many thanks to Adrian Chadd for debuging this and reviewing the patch !
      
      v2: Make sure we don't clear PISR bits that map to SISR generated interrupts
      (added a comment on the code for this)
      Signed-off-by: NNick Kossifidis <mickflemm@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      7ff7c82e
  2. 12 10月, 2011 1 次提交
  3. 10 8月, 2011 1 次提交
  4. 09 8月, 2011 4 次提交
  5. 22 7月, 2011 1 次提交
  6. 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
  7. 14 7月, 2011 3 次提交
  8. 12 7月, 2011 1 次提交
  9. 08 7月, 2011 5 次提交
  10. 22 6月, 2011 1 次提交
    • A
      net: remove mm.h inclusion from netdevice.h · b7f080cf
      Alexey Dobriyan 提交于
      Remove linux/mm.h inclusion from netdevice.h -- it's unused (I've checked manually).
      
      To prevent mm.h inclusion via other channels also extract "enum dma_data_direction"
      definition into separate header. This tiny piece is what gluing netdevice.h with mm.h
      via "netdevice.h => dmaengine.h => dma-mapping.h => scatterlist.h => mm.h".
      Removal of mm.h from scatterlist.h was tried and was found not feasible
      on most archs, so the link was cutoff earlier.
      
      Hope people are OK with tiny include file.
      
      Note, that mm_types.h is still dragged in, but it is a separate story.
      Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b7f080cf
  11. 21 6月, 2011 1 次提交
  12. 18 6月, 2011 1 次提交
  13. 04 6月, 2011 1 次提交
  14. 12 5月, 2011 1 次提交
  15. 15 4月, 2011 1 次提交
  16. 13 4月, 2011 4 次提交
  17. 31 3月, 2011 1 次提交
  18. 12 3月, 2011 1 次提交
  19. 08 3月, 2011 1 次提交
  20. 26 2月, 2011 1 次提交
    • J
      mac80211: make tx() operation return void · 7bb45683
      Johannes Berg 提交于
      The return value of the tx operation is commonly
      misused by drivers, leading to errors. All drivers
      will drop frames if they fail to TX the frame, and
      they must also properly manage the queues (if they
      didn't, mac80211 would already warn).
      
      Removing the ability for drivers to return a BUSY
      value also allows significant cleanups of the TX
      TX handling code in mac80211.
      
      Note that this also fixes a bug in ath9k_htc, the
      old "return -1" there was wrong.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Tested-by: Sedat Dilek <sedat.dilek@googlemail.com> [ath5k]
      Acked-by: Gertjan van Wingerde <gwingerde@gmail.com> [rt2x00]
      Acked-by: Larry Finger <Larry.Finger@lwfinger.net> [b43, rtl8187, rtlwifi]
      Acked-by: Luciano Coelho <coelho@ti.com> [wl12xx]
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      7bb45683
  21. 24 2月, 2011 1 次提交
  22. 29 1月, 2011 2 次提交
    • 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
    • B
      ath5k: use tracing for packet tx/rx dump · 0e472252
      Bob Copeland 提交于
      This adds a few tracepoints to ath5k driver transmit and
      receive callbacks in order to record packet traffic.
      We record the entire packet in the trace buffer so that
      the data can be extracted with trace-cmd and external
      plugins.
      
      Compared to the previous debugging calls, this approach
      removes an out-of-line function call from the tx and rx
      paths in the compiled-in-but-disabled case, while
      improving the ability to process the logged data.
      
      A new option, CONFIG_ATH5K_TRACER, is added so that one
      may disable the tracepoints completely.
      Signed-off-by: NBob Copeland <me@bobcopeland.com>
      Acked-by: NBruno Randolf <br1@einfach.org>
      Acked-by: NNick Kossifidis <mickflemm@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      0e472252