Lines Matching +full:always +full:- +full:turbo
2 * Copyright (c) 2004-2007 Reyk Floeter <reyk@openbsd.org>
3 * Copyright (c) 2006-2007 Nick Kossifidis <mickflemm@gmail.com>
62 #define PCI_DEVICE_ID_ATHEROS_AR5312_REV7 0x0057 /* AR5312 WMAC (AP30-040) */
63 #define PCI_DEVICE_ID_ATHEROS_AR5312_REV8 0x0058 /* AR5312 WMAC (AP43-030) */
70 #define PCI_DEVICE_ID_ATHEROS_AR2413 0x001a /* AR2413 (Griffin-lite) */
72 #define PCI_DEVICE_ID_ATHEROS_AR5424 0x001c /* AR5424 (Condor PCI-E) */
189 #define AR5K_TUNE_NOISE_FLOOR -72
190 #define AR5K_TUNE_CCA_MAX_GOOD_VALUE -95
236 /* Preamble time for 40MHz (turbo) operation (min ?) */
247 /* Tx latency for 40MHz (turbo) operation (min ?) */
259 * on turbo mode */
274 * enum ath5k_version - MAC Chips
286 * enum ath5k_radio - PHY Chips
290 * @AR5K_RF2413: RF2413/2414 (Griffin/Griffin-Lite)
327 #define AR5K_SREV_AR2315_R6 0x86 /* AP51-Light */
328 #define AR5K_SREV_AR2315_R7 0x87 /* AP51-Full */
330 #define AR5K_SREV_AR2317_R1 0x90 /* AP61-Light */
331 #define AR5K_SREV_AR2317_R2 0x91 /* AP61-Full */
335 #define AR5K_SREV_AR5416 0xc0 /* PCI-E */
336 #define AR5K_SREV_AR5418 0xca /* PCI-E */
366 /* TODO add support to mac80211 for vendor-specific rates and modes */
373 * http://madwifi-project.org/wiki/ChipsetFeatures/SuperAG
375 * Atheros' eXtended Range - range enhancing extension is a modulation scheme
376 * that is supposed to double the link distance between an Atheros XR-enabled
377 * client device with an Atheros XR-enabled access point. This is achieved
378 * by increasing the receiver sensitivity up to, -105dBm, which is about 20dB
382 * Please note that can you either use XR or TURBO but you cannot use both,
393 * In addition to XR we have another modulation scheme called TURBO mode
395 * -60Mbit/s at a 108Mbit/s signaling rate achieved through the bonding of two
397 * There is also a distinction between "static" and "dynamic" turbo modes:
399 * - Static: is the dumb version: devices set to this mode stick to it until
402 * - Dynamic: is the intelligent version, the network decides itself if it
403 * is ok to use turbo. As soon as traffic is detected on adjacent channels
404 * (which would get used in turbo mode), or when a non-turbo station joins
405 * the network, turbo mode won't be used until the situation changes again.
407 * monitors the used radio band in order to decide whether turbo mode may
413 * https://www.pcworld.com/article/id,113428-page,1/article.html
417 * In addition to TURBO modes we also have the following features for even
418 * greater speed-up:
420 * - Bursting: allows multiple frames to be sent at once, rather than pausing
421 * after each frame. Bursting is a standards-compliant feature that can be
424 * - Fast frames: increases the amount of information that can be sent per
428 * - Compression: data frames are compressed in real time using a Lempel Ziv
434 * get a mode similar to TURBO by using 40MHz bwmode.
439 * enum ath5k_driver_mode - PHY operation mode
456 * enum ath5k_ant_mode - Antenna operation mode
463 * @AR5K_ANTMODE_DEBUG: Debug mode -A -> Rx, B-> Tx-
480 * enum ath5k_bw_mode - Bandwidth operation mode
484 * @AR5K_BWMODE_40MHZ: Turbo
500 * struct ath5k_tx_status - TX Status descriptor
532 * enum ath5k_tx_queue - Queue types used to classify tx queues.
533 * @AR5K_TX_QUEUE_INACTIVE: q is unused -- see ath5k_hw_release_tx_queue
536 * @AR5K_TX_QUEUE_CAB: The after-beacon queue
551 * enum ath5k_tx_queue_subtype - Queue sub-types to classify normal data queues
553 * @AR5K_WME_AC_BE: Best-effort (normal) traffic
570 * enum ath5k_tx_queue_id - Queue ID numbers as returned by the hw functions
597 #define AR5K_TXQ_FLAG_TXEOLINT_ENABLE 0x0004 /* Enable TXEOL interrupt -not used- */
598 #define AR5K_TXQ_FLAG_TXDESCINT_ENABLE 0x0008 /* Enable TXDESC interrupt -not used- */
604 #define AR5K_TXQ_FLAG_BACKOFF_DISABLE 0x0200 /* Disable random post-backoff */
608 #define AR5K_TXQ_FLAG_COMPRESSION_ENABLE 0x2000 /* Enable hw compression -not implemented-*/
611 * struct ath5k_txq - Transmit queue state
642 * struct ath5k_txq_info - A struct to hold TX queue's parameters
646 * @tqi_aifs: Arbitrated Inter-frame Space
666 * enum ath5k_pkt_type - Transmit packet types
669 * @AR5K_PKT_TYPE_PSPOLL: PS-Poll
689 (((ah->ah_txpower.txp_rates_power_table[(_r)]) & 0x3f) << (_v)) \
693 (ah->ah_txpower.txp_rates_power_table[(_r)] & 0x3f) << (_v) \
703 * struct ath5k_rx_status - RX Status descriptor
731 #define AR5K_RXKEYIX_INVALID ((u8) -1)
732 #define AR5K_TXKEYIX_INVALID ((u32) -1)
760 * enum ath5k_rfgain - RF Gain optimization engine state
774 * struct ath5k_gain - RF Gain optimization engine state data
804 * struct ath5k_athchan_2ghz - 2GHz to 5GHZ map for RF5111
819 * enum ath5k_dmasize - DMA size definitions (2^(n+2))
854 * Seems the ar5xxx hardware supports up to 32 rates, indexed by 1-32.
863 * --------- -----------
867 * 0x04 - 05 -Reserved-
878 * 0x10 - 17 -Reserved-
886 * 0x1F -Reserved-
942 * enum ath5k_int - Hardware interrupt masks helpers
949 * not always fatal, on some chips we can continue operation
972 * @AR5K_INT_SWBA: SoftWare Beacon Alert - indicates its time to send a
1082 * enum ath5k_calibration_mask - Mask which calibration is active at the moment
1096 * enum ath5k_power_mode - Power management modes
1127 /* GPIO-controlled software LED */
1266 struct mutex lock; /* dev-level lock */
1640 return &ah->common; in ath5k_hw_common()
1645 return &(ath5k_hw_common(ah)->regulatory); in ath5k_hw_regulatory()
1656 (ah->ah_mac_srev >= AR5K_SREV_AR2315_R6))) in ath5k_ahb_reg()
1659 return ah->iobase + reg; in ath5k_ahb_reg()
1676 return ioread32(ah->iobase + reg); in ath5k_hw_reg_read()
1681 iowrite32(val, ah->iobase + reg); in ath5k_hw_reg_write()
1688 return ath5k_hw_common(ah)->bus_ops->ath_bus_type; in ath5k_get_bus_type()
1693 common->bus_ops->read_cachesize(common, csz); in ath5k_read_cachesize()
1699 return common->bus_ops->eeprom_read(common, off, data); in ath5k_hw_nvram_read()