Features Download
From: Luis R. Rodriguez <lrodriguez-DlyHzToyqoxBDgjK7y7TUQ <at> public.gmane.org>
Subject: [PATCH v2 00/97] ath9k: add AR9003 support
Newsgroups: gmane.linux.kernel.wireless.general
Date: Thursday 15th April 2010 03:29:14 UTC (over 8 years ago)
Here's a respin of our last series for AR9003 support. We've taken
the feedback given and made a few respective changes. The initval
Lindent patch was completely removed, instead we figure we'll address
a new style for the new initvals after this series. We've fixed a few
bugs while addressing some of the feedback, and at the same time have
taken the time to merge a few patches together where it made sense,
namely in the EEPROM area.

All these patches have been tested with sparse v0.4.2 and checkpatch.pl,
the only remaining complaints you'll see are for volatile use for gcc
bug #37014 [1], one false positive which we need to fix upstream on
checkpatch [2], and the usual WARNINGs for > 80 lines on header files
for macros, and just a few places in code where it was just not
a good idea yet to split the code to avoid the 80 column length.

The new style for the initvals will be addressed by using a userspace
program [3] which reads the existing initvals and regenerates it at our
This same program was also used by us to verify the integrity of the
initvals during our code shuffle, the checksums for existing
and after this patch series matches.

Worth noting also is we have disabled ANI, although it has been
working for us, our systems team has not completed its testing
yet so no point in filing bugs for it if its not working yet :)
TX interrupt mitigation is also disabled due to pervious issues we
(ath9k) have seen with AR9280, we'll enable it later after some more

I'll note I've used -M on this patch series on forma-patch, please let
me know if there are any issues with it.

[1] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37014
[2] ERROR: trailing statements should be on next line
#576: FILE: drivers/net/wireless/ath/ath9k/recv.c:734:
+       while (ath_edma_get_buffers(sc, qtype));
[3] git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/initvals.git

Felix Fietkau (14):
  ath9k_hw: add silicon revision macros for AR9300
  ath9k_hw: add a macro for abstracting generic timer access
  ath9k_hw: fix a missing hex prefix for a register mask
  ath9k_hw: add simple register abstraction for some AR9300 registers
  ath9k_hw: add support for GPIO differences on AR9003
  ath9k_hw: Add AR9003 PHY register definitions
  ath9k_hw: Set the channel on AR9003
  ath9k_hw: Implement PLL control on AR9003
  ath9k_hw: Implement spur mitigation on AR9003
  ath9k_hw: Split off ANI control to the PHY ops
  ath9k: Add Rx EDMA support
  ath9k_hw: Split out the function for reading the noise floor
  ath9k_hw: move AR9280 PCI EEPROM fix to eeprom_def.c
  ath9k_hw: Update ath9k_hw_set_dma for AR9300

Luis R. Rodriguez (52):
  ath9k_hw: start building an abstraction layer for hardware routines
  ath9k_hw: AR9003 does not have AR_RC_AHB skip its setting
  ath9k_hw: remove wrapper ath9k_hw_write_regs()
  ath9k_hw: Move some RF ops to the private callbacks
  ath9k_hw: skip PLL initialization on AR9003 on Power-On-Reset
  ath9k_hw: add some comments for ath9k_set_power_network_sleep()
  ath9k_hw: add a private callback for PLL control computation
  ath9k_hw: Add AR9003 PHY support
  ath9k_hw: move init config and default after chip is up
  ath9k_hw: add the AR9003 ar9003_hw_macversion_supported()
  ath9k_hw: disable ANI for AR9003
  ath9k: disable the MIB interrupt if ANI is disabled
  ath9k_hw: add common channel select helpers for ar900[23]
  ath9k_hw: split initvals.h by hardware family
  ath9k_hw: add initvals for the AR9003 hardware family
  ath9k_hw: add helpers for processing the AR9003 INI
  ath9k_hw: add all the AR9003 PHY callbacks
  ath9k_hw: add a helper for Power Amplifier calibration for AR9002
  ath9k_hw: add a helper for the OLC tem compensation for AR9002
  ath9k_hw: rename PA calib for AR9287
  ath9k_hw: shift code for AR9280 OLC temp comp
  ath9k_hw: move the AR9280 OLC temp comp to its own helper
  ath9k_hw: simplify OLC temp compensation for AR9002
  ath9k_hw: rename the PA calib routines to match their families
  ath9k_hw: rename getNoiseFloorThresh() to ath9k_hw_loadnf()
  ath9k_hw: move the cal AR9100 calibration settings
  ath9k_hw: split calib code by hardware families
  ath9k_hw: add the AR9003 ar9003_hw_init_cal callback
  ath9k_hw: add the config_pci_powersave AR9003 callback
  ath9k_hw: split the generic hardware code by hardware family
  ath9k_hw: move the cck channel 14 INI to the AR9002 hw code
  ath9k_hw: move TX/RX gain INI stuff to its own hardware family code
  ath9k_hw: abstract the AR_PHY_AGC_CONTROL register access
  ath9k_hw: abstract loading noisefloor
  ath9k_hw: fill in the callbacks for calibration for AR9003
  ath9k_hw: complete AR9003 calibration
  ath9k_hw: rename eep_AR9287_ops to eep_ar9287_ops
  ath9k_hw: restore mac address reading logic
  ath9k_hw: add OFDM spur mitigation for AR9003
  ath9k_hw: move the RF claim stuff to AR9002 hardware family
  ath9k_hw: add the AR9300 SREV hw name print
  ath9k_hw: add TX/RX gain register initialization for AR9003
  ath9k_hw: skip asynch fifo enablement to AR9003
  ath9k_hw: skip WEP aggregation enable code for AR9003
  ath9k: add RXLP and RXHP to debugfs counters
  ath9k_hw: enable CRC check of descriptors for AR9003
  ath9k_hw: set cwmin and cwmax to 0 for for AR9003 upon txq reset
  ath9k_hw: move AR9002 mac ops to its own file
  mac80211: add LDPC control flag
  ath9k_hw: add LDPC support for AR9003
  ath9k: add LDPC support
  ath9k_hw: add the PCI ID for the first AR9300 device

Senthil Balasubramanian (5):
  ath9k_hw: Add the PCI IDs for AR9300 and fill up the pci_id_tables
  ath9k_hw: update the chip tests for AR9003
  ath9k_hw: prevent reset control register zeroing on AR9003 reset
  ath9k_hw: the eep_map is used only for AR9280 PCI card ini fixup
  ath9k_hw: Implement AR9003 eeprom callbacks

Vasanthakumar Thiagarajan (26):
  ath9k_hw: Add hw cap flag for EDMA for the AR9003 family
  ath9k_hw: Fill few hw cap for edma
  ath9k_hw: Add abstraction for rx enable
  ath9k_hw: Fill rx_enable() for the AR9003 hardware family
  ath9k_hw: Add few routines for rx edma support
  ath9k_hw: Define tx control struct for AR9003
  ath9k_hw: Move code which populates ds_data to ath9k_hw
  ath9k_hw: Add abstraction to set/get link pointer
  ath9k: Use abstraction to get link pointer
  ath9k: Use memcpy in ath_clone_txbuf()
  ath9k: Remove ATH9K_TX_SW_ABORTED and introduce a bool for this
  ath9k: Make bf_desc of ath_buf opaque
  ath9k_hw: Abstract the routine which returns interrupt status
  ath9k_hw: Initialize interrupt mask for AR9003
  ath9k_hw: Fill get_isr() for AR9003
  ath9k_hw: Configure Tx interrupt mitigation timer
  ath9k: Load SW filtered NF values and start NF cal during full reset
    for AR9003
  ath9k_hw: Define abstraction for tx desc access
  ath9k_hw: Add function to configure tx status ring buffer
  ath9k_hw: Fill descriptor abstrations for AR9003
  ath9k: Setup appropriate tx desc for regular dma and edma
  ath9k: Initialize and configure tx status for EDMA
  ath9k_hw: Compute pointer checksum over the link descriptor
  ath9k: Add Tx EDMA support
  ath9k: Enable TXOK and TXERR interrupts for TX EDMA
  ath9k_hw: Abort rx if hw is not coming out of full sleep in reset

 drivers/net/wireless/ath/ath9k/Makefile            |   16 +-
 drivers/net/wireless/ath/ath9k/ani.c               |  185 +--
 drivers/net/wireless/ath/ath9k/ar5008_initvals.h   |  742 ++++++++
 drivers/net/wireless/ath/ath9k/ar5008_phy.c        | 1347 +++++++++++++
 drivers/net/wireless/ath/ath9k/ar9001_initvals.h   | 1254 +++++++++++++
 drivers/net/wireless/ath/ath9k/ar9002_calib.c      |  995 ++++++++++
 drivers/net/wireless/ath/ath9k/ar9002_hw.c         |  588 ++++++
 .../ath/ath9k/{initvals.h => ar9002_initvals.h}    | 1984
 drivers/net/wireless/ath/ath9k/ar9002_mac.c        |  462 +++++
 drivers/net/wireless/ath/ath9k/ar9002_phy.c        |  534 ++++++
 drivers/net/wireless/ath/ath9k/ar9002_phy.h        |  572 ++++++
 drivers/net/wireless/ath/ath9k/ar9003_calib.c      |  802 ++++++++
 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c     | 1856
 drivers/net/wireless/ath/ath9k/ar9003_eeprom.h     |  323 ++++
 drivers/net/wireless/ath/ath9k/ar9003_hw.c         |  204 ++
 drivers/net/wireless/ath/ath9k/ar9003_initvals.h   | 1793
 drivers/net/wireless/ath/ath9k/ar9003_mac.c        |  610 ++++++
 drivers/net/wireless/ath/ath9k/ar9003_mac.h        |  124 ++
 drivers/net/wireless/ath/ath9k/ar9003_phy.c        | 1142 +++++++++++
 drivers/net/wireless/ath/ath9k/ar9003_phy.h        |  847 +++++++++
 drivers/net/wireless/ath/ath9k/ath9k.h             |   24 +-
 drivers/net/wireless/ath/ath9k/beacon.c            |    5 +-
 drivers/net/wireless/ath/ath9k/calib.c             | 1089 +-----------
 drivers/net/wireless/ath/ath9k/calib.h             |   19 +-
 drivers/net/wireless/ath/ath9k/common.h            |    4 +-
 drivers/net/wireless/ath/ath9k/debug.c             |   22 +-
 drivers/net/wireless/ath/ath9k/debug.h             |    4 +
 drivers/net/wireless/ath/ath9k/eeprom.c            |    9 +-
 drivers/net/wireless/ath/ath9k/eeprom.h            |   22 +-
 drivers/net/wireless/ath/ath9k/eeprom_4k.c         |    7 +-
 drivers/net/wireless/ath/ath9k/eeprom_9287.c       |    9 +-
 drivers/net/wireless/ath/ath9k/eeprom_def.c        |   13 +-
 drivers/net/wireless/ath/ath9k/hw-ops.h            |  280 +++
 drivers/net/wireless/ath/ath9k/hw.c                | 1646
 drivers/net/wireless/ath/ath9k/hw.h                |  229 +++-
 drivers/net/wireless/ath/ath9k/init.c              |   38 +-
 drivers/net/wireless/ath/ath9k/mac.c               |  447 ++---
 drivers/net/wireless/ath/ath9k/mac.h               |   51 +-
 drivers/net/wireless/ath/ath9k/main.c              |   51 +-
 drivers/net/wireless/ath/ath9k/pci.c               |    1 +
 drivers/net/wireless/ath/ath9k/phy.c               |  978 ----------
 drivers/net/wireless/ath/ath9k/phy.h               |  584 +------
 drivers/net/wireless/ath/ath9k/rc.c                |    9 +
 drivers/net/wireless/ath/ath9k/recv.c              |  517 ++++--
 drivers/net/wireless/ath/ath9k/reg.h               |  167 ++-
 drivers/net/wireless/ath/ath9k/xmit.c              |  364 +++-
 include/net/mac80211.h                             |    2 +
 47 files changed, 16144 insertions(+), 6827 deletions(-)
 create mode 100644 drivers/net/wireless/ath/ath9k/ar5008_initvals.h
 create mode 100644 drivers/net/wireless/ath/ath9k/ar5008_phy.c
 create mode 100644 drivers/net/wireless/ath/ath9k/ar9001_initvals.h
 create mode 100644 drivers/net/wireless/ath/ath9k/ar9002_calib.c
 create mode 100644 drivers/net/wireless/ath/ath9k/ar9002_hw.c
 rename drivers/net/wireless/ath/ath9k/{initvals.h => ar9002_initvals.h}
 create mode 100644 drivers/net/wireless/ath/ath9k/ar9002_mac.c
 create mode 100644 drivers/net/wireless/ath/ath9k/ar9002_phy.c
 create mode 100644 drivers/net/wireless/ath/ath9k/ar9002_phy.h
 create mode 100644 drivers/net/wireless/ath/ath9k/ar9003_calib.c
 create mode 100644 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
 create mode 100644 drivers/net/wireless/ath/ath9k/ar9003_eeprom.h
 create mode 100644 drivers/net/wireless/ath/ath9k/ar9003_hw.c
 create mode 100644 drivers/net/wireless/ath/ath9k/ar9003_initvals.h
 create mode 100644 drivers/net/wireless/ath/ath9k/ar9003_mac.c
 create mode 100644 drivers/net/wireless/ath/ath9k/ar9003_mac.h
 create mode 100644 drivers/net/wireless/ath/ath9k/ar9003_phy.c
 create mode 100644 drivers/net/wireless/ath/ath9k/ar9003_phy.h
 create mode 100644 drivers/net/wireless/ath/ath9k/hw-ops.h
 delete mode 100644 drivers/net/wireless/ath/ath9k/phy.c

To unsubscribe from this list: send the line "unsubscribe linux-wireless"
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
CD: 4ms