#include <linux/version.h>
#include <linux/module.h>
#include <linux/delay.h>
#include <linux/if.h>
#include <linux/netdevice.h>
#include <linux/cache.h>
#include <linux/pci.h>
#include <linux/ethtool.h>
#include <linux/uaccess.h>
#include <linux/if_arp.h>
#include <linux/etherdevice.h>
#include <asm/unaligned.h>
#include "base.h"
#include "reg.h"
#include "debug.h"
Go to the source code of this file.
Defines | |
#define | ieee80211chan2mhz(x) |
Functions | |
static int | ath5k_attach (struct ath5k_softc *sc) |
static const char * | ath5k_chip_name (enum ath5k_srev_type type, u_int16_t val) |
static int | ath5k_close (struct net_device *netdev) |
static int | ath5k_config (struct ath5k_softc *sc, unsigned short channel, enum rates rate, unsigned char power, enum ath5k_ant_mode antenna_mode) |
static int | ath5k_config_disable_ack (struct ath5k_softc *sc, bool disable) |
static void | ath5k_config_filter (struct ath5k_softc *sc, bool broadcast, bool control, bool promisc) |
static int | ath5k_config_tx_control (struct ath5k_softc *sc, unsigned char count, bool wait_for_ack, bool use_short_preamble) |
static unsigned int | ath5k_copy_channels (struct ath5k_hw *ah, struct ieee80211_channel *channels, unsigned int mode, unsigned int max) |
static int | ath5k_desc_alloc (struct ath5k_softc *sc, struct pci_dev *pdev) |
static void | ath5k_desc_free (struct ath5k_softc *sc, struct pci_dev *pdev) |
static void | ath5k_detach (struct pci_dev *pdev, struct ath5k_softc *sc) |
static struct ieee80211_channel * | ath5k_get_channel (struct ath5k_softc *sc, unsigned int freq) |
static int | ath5k_get_rate_idx (struct ath5k_softc *sc, enum ieee80211_band band, enum rates rate) |
static short | ath5k_ieee2mhz (short chan) |
static int | ath5k_init (struct ath5k_softc *sc) |
static irqreturn_t | ath5k_intr (int irq, void *dev_id) |
static int | ath5k_ioctl (struct net_device *dev, struct ifreq *ifr, int cmd) |
static bool | ath5k_is_standard_channel (short chan) |
static void | ath5k_mode_setup (struct ath5k_softc *sc) |
static int | ath5k_open (struct net_device *netdev) |
static int __devinit | ath5k_pci_probe (struct pci_dev *pdev, const struct pci_device_id *id) |
static void __devexit | ath5k_pci_remove (struct pci_dev *pdev) |
static int | ath5k_reset (struct ath5k_softc *sc, struct ieee80211_channel *chan) |
static int | ath5k_reset_wake (struct ath5k_softc *sc) |
static void | ath5k_rx_done (struct ath5k_softc *sc) |
static struct sk_buff * | ath5k_rx_skb_alloc (struct ath5k_softc *sc, dma_addr_t *skb_addr) |
static int | ath5k_rx_start (struct ath5k_softc *sc) |
static void | ath5k_rx_stop (struct ath5k_softc *sc) |
static void | ath5k_rxbuf_free (struct ath5k_softc *sc, struct ath5k_buf *bf) |
static int | ath5k_rxbuf_setup (struct ath5k_softc *sc, struct ath5k_buf *bf) |
static int | ath5k_setup_bands (struct ath5k_softc *sc) |
static int | ath5k_start (struct ath5k_softc *sc) |
static void | ath5k_stop (struct ath5k_softc *sc) |
static int | ath5k_stop_hw (struct ath5k_softc *sc) |
static int | ath5k_stop_locked (struct ath5k_softc *sc) |
static void | ath5k_tasklet_reset (unsigned long data) |
static int | ath5k_tx (struct sk_buff *skb, struct net_device *netdev) |
static void | ath5k_tx_done (struct ath5k_softc *sc, struct ath5k_txq *txq) |
static void | ath5k_txbuf_free (struct ath5k_softc *sc, struct ath5k_buf *bf) |
static int | ath5k_txbuf_setup (struct ath5k_softc *sc, struct ath5k_buf *bf) |
static void | ath5k_txq_cleanup (struct ath5k_softc *sc) |
static void | ath5k_txq_drainq (struct ath5k_softc *sc, struct ath5k_txq *txq) |
static void | ath5k_txq_release (struct ath5k_softc *sc) |
static struct ath5k_txq * | ath5k_txq_setup (struct ath5k_softc *sc, int qtype, int subtype) |
static void __exit | exit_ath5k_pci (void) |
static int | ieee80211_copy_snap (u8 *data, unsigned short h_proto) |
static int __init | init_ath5k_pci (void) |
MODULE_AUTHOR ("Jiri Slaby") | |
MODULE_AUTHOR ("Nick Kossifidis") | |
MODULE_AUTHOR ("Samuel Cabrero") | |
MODULE_DESCRIPTION ("Modified version of the ath5k driver for use with RT-WMP protocol.") | |
MODULE_DEVICE_TABLE (pci, ath5k_pci_id_table) | |
module_exit (exit_ath5k_pci) | |
module_init (init_ath5k_pci) | |
MODULE_LICENSE ("Dual BSD/GPL") | |
MODULE_SUPPORTED_DEVICE ("Atheros 5xxx WLAN cards") | |
MODULE_VERSION ("0.6.0 (EXPERIMENTAL)") | |
Variables | |
static u8 | ath5k_calinterval = 10 |
static struct net_device_ops | ath5k_netdev_ops |
static struct pci_driver | ath5k_pci_driver |
static struct pci_device_id | ath5k_pci_id_table [] |
static struct ieee80211_rate | ath5k_rates [] |
static int | modparam_all_channels = true |
static u8 | P802_1H_OUI [P80211_OUI_LEN] = { 0x00, 0x00, 0xf8 } |
static u8 | RFC1042_OUI [P80211_OUI_LEN] = { 0x00, 0x00, 0x00 } |
static struct ath5k_srev_name | srev_names [] |
static int | use_beacon_frames = 0 |
#define ieee80211chan2mhz | ( | x | ) |
(((x) <= 14) ? \ (((x) == 14) ? 2484 : ((x) * 5) + 2407) : \ ((x) + 1000) * 5)
Definition at line 859 of file linux_us/hwi/ath5k_raw/module/base.c.
static int ath5k_attach | ( | struct ath5k_softc * | sc | ) | [static] |
Definition at line 757 of file linux_us/hwi/ath5k_raw/module/base.c.
static const char* ath5k_chip_name | ( | enum ath5k_srev_type | type, |
u_int16_t | val | ||
) | [static] |
Definition at line 404 of file linux_us/hwi/ath5k_raw/module/base.c.
static int ath5k_close | ( | struct net_device * | netdev | ) | [static] |
Definition at line 738 of file linux_us/hwi/ath5k_raw/module/base.c.
static int ath5k_config | ( | struct ath5k_softc * | sc, |
unsigned short | channel, | ||
enum rates | rate, | ||
unsigned char | power, | ||
enum ath5k_ant_mode | antenna_mode | ||
) | [static] |
Definition at line 2349 of file linux_us/hwi/ath5k_raw/module/base.c.
static int ath5k_config_disable_ack | ( | struct ath5k_softc * | sc, |
bool | disable | ||
) | [static] |
Definition at line 2329 of file linux_us/hwi/ath5k_raw/module/base.c.
static void ath5k_config_filter | ( | struct ath5k_softc * | sc, |
bool | broadcast, | ||
bool | control, | ||
bool | promisc | ||
) | [static] |
Definition at line 2217 of file linux_us/hwi/ath5k_raw/module/base.c.
static int ath5k_config_tx_control | ( | struct ath5k_softc * | sc, |
unsigned char | count, | ||
bool | wait_for_ack, | ||
bool | use_short_preamble | ||
) | [static] |
Definition at line 2305 of file linux_us/hwi/ath5k_raw/module/base.c.
static unsigned int ath5k_copy_channels | ( | struct ath5k_hw * | ah, |
struct ieee80211_channel * | channels, | ||
unsigned int | mode, | ||
unsigned int | max | ||
) | [static] |
Definition at line 891 of file linux_us/hwi/ath5k_raw/module/base.c.
static int ath5k_desc_alloc | ( | struct ath5k_softc * | sc, |
struct pci_dev * | pdev | ||
) | [static] |
Definition at line 1216 of file linux_us/hwi/ath5k_raw/module/base.c.
static void ath5k_desc_free | ( | struct ath5k_softc * | sc, |
struct pci_dev * | pdev | ||
) | [static] |
Definition at line 1272 of file linux_us/hwi/ath5k_raw/module/base.c.
static void ath5k_detach | ( | struct pci_dev * | pdev, |
struct ath5k_softc * | sc | ||
) | [static] |
Definition at line 831 of file linux_us/hwi/ath5k_raw/module/base.c.
static struct ieee80211_channel * ath5k_get_channel | ( | struct ath5k_softc * | sc, |
unsigned int | freq | ||
) | [static, read] |
Definition at line 2253 of file linux_us/hwi/ath5k_raw/module/base.c.
static int ath5k_get_rate_idx | ( | struct ath5k_softc * | sc, |
enum ieee80211_band | band, | ||
enum rates | rate | ||
) | [static] |
Definition at line 2280 of file linux_us/hwi/ath5k_raw/module/base.c.
static short ath5k_ieee2mhz | ( | short | chan | ) | [inline, static] |
Definition at line 868 of file linux_us/hwi/ath5k_raw/module/base.c.
static int ath5k_init | ( | struct ath5k_softc * | sc | ) | [static] |
Definition at line 1759 of file linux_us/hwi/ath5k_raw/module/base.c.
static irqreturn_t ath5k_intr | ( | int | irq, |
void * | dev_id | ||
) | [static] |
Definition at line 1888 of file linux_us/hwi/ath5k_raw/module/base.c.
static int ath5k_ioctl | ( | struct net_device * | dev, |
struct ifreq * | ifr, | ||
int | cmd | ||
) | [static] |
Definition at line 2416 of file linux_us/hwi/ath5k_raw/module/base.c.
static bool ath5k_is_standard_channel | ( | short | chan | ) | [static] |
Definition at line 879 of file linux_us/hwi/ath5k_raw/module/base.c.
static void ath5k_mode_setup | ( | struct ath5k_softc * | sc | ) | [static] |
Definition at line 1032 of file linux_us/hwi/ath5k_raw/module/base.c.
static int ath5k_open | ( | struct net_device * | netdev | ) | [static] |
Definition at line 710 of file linux_us/hwi/ath5k_raw/module/base.c.
static int __devinit ath5k_pci_probe | ( | struct pci_dev * | pdev, |
const struct pci_device_id * | id | ||
) | [static] |
Definition at line 426 of file linux_us/hwi/ath5k_raw/module/base.c.
static void __devexit ath5k_pci_remove | ( | struct pci_dev * | pdev | ) | [static] |
Definition at line 690 of file linux_us/hwi/ath5k_raw/module/base.c.
static int ath5k_reset | ( | struct ath5k_softc * | sc, |
struct ieee80211_channel * | chan | ||
) | [static] |
Definition at line 2160 of file linux_us/hwi/ath5k_raw/module/base.c.
static int ath5k_reset_wake | ( | struct ath5k_softc * | sc | ) | [static] |
Definition at line 2196 of file linux_us/hwi/ath5k_raw/module/base.c.
static void ath5k_rx_done | ( | struct ath5k_softc * | sc | ) | [static] |
Definition at line 1506 of file linux_us/hwi/ath5k_raw/module/base.c.
static struct sk_buff* ath5k_rx_skb_alloc | ( | struct ath5k_softc * | sc, |
dma_addr_t * | skb_addr | ||
) | [static, read] |
Definition at line 1056 of file linux_us/hwi/ath5k_raw/module/base.c.
static int ath5k_rx_start | ( | struct ath5k_softc * | sc | ) | [static] |
Definition at line 1441 of file linux_us/hwi/ath5k_raw/module/base.c.
static void ath5k_rx_stop | ( | struct ath5k_softc * | sc | ) | [static] |
Definition at line 1478 of file linux_us/hwi/ath5k_raw/module/base.c.
static void ath5k_rxbuf_free | ( | struct ath5k_softc * | sc, |
struct ath5k_buf * | bf | ||
) | [inline, static] |
Definition at line 280 of file linux_us/hwi/ath5k_raw/module/base.c.
static int ath5k_rxbuf_setup | ( | struct ath5k_softc * | sc, |
struct ath5k_buf * | bf | ||
) | [static] |
Definition at line 1096 of file linux_us/hwi/ath5k_raw/module/base.c.
static int ath5k_setup_bands | ( | struct ath5k_softc * | sc | ) | [static] |
Definition at line 956 of file linux_us/hwi/ath5k_raw/module/base.c.
static int ath5k_start | ( | struct ath5k_softc * | sc | ) | [static] |
Definition at line 2207 of file linux_us/hwi/ath5k_raw/module/base.c.
static void ath5k_stop | ( | struct ath5k_softc * | sc | ) | [static] |
Definition at line 2212 of file linux_us/hwi/ath5k_raw/module/base.c.
static int ath5k_stop_hw | ( | struct ath5k_softc * | sc | ) | [static] |
Definition at line 1845 of file linux_us/hwi/ath5k_raw/module/base.c.
static int ath5k_stop_locked | ( | struct ath5k_softc * | sc | ) | [static] |
Definition at line 1800 of file linux_us/hwi/ath5k_raw/module/base.c.
static void ath5k_tasklet_reset | ( | unsigned long | data | ) | [static] |
Definition at line 1953 of file linux_us/hwi/ath5k_raw/module/base.c.
Definition at line 2042 of file linux_us/hwi/ath5k_raw/module/base.c.
static void ath5k_tx_done | ( | struct ath5k_softc * | sc, |
struct ath5k_txq * | txq | ||
) | [static] |
Definition at line 1710 of file linux_us/hwi/ath5k_raw/module/base.c.
static void ath5k_txbuf_free | ( | struct ath5k_softc * | sc, |
struct ath5k_buf * | bf | ||
) | [inline, static] |
Definition at line 268 of file linux_us/hwi/ath5k_raw/module/base.c.
static int ath5k_txbuf_setup | ( | struct ath5k_softc * | sc, |
struct ath5k_buf * | bf | ||
) | [static] |
Definition at line 1143 of file linux_us/hwi/ath5k_raw/module/base.c.
static void ath5k_txq_cleanup | ( | struct ath5k_softc * | sc | ) | [static] |
Definition at line 1384 of file linux_us/hwi/ath5k_raw/module/base.c.
static void ath5k_txq_drainq | ( | struct ath5k_softc * | sc, |
struct ath5k_txq * | txq | ||
) | [static] |
Definition at line 1357 of file linux_us/hwi/ath5k_raw/module/base.c.
static void ath5k_txq_release | ( | struct ath5k_softc * | sc | ) | [static] |
Definition at line 1411 of file linux_us/hwi/ath5k_raw/module/base.c.
static struct ath5k_txq * ath5k_txq_setup | ( | struct ath5k_softc * | sc, |
int | qtype, | ||
int | subtype | ||
) | [static, read] |
Definition at line 1297 of file linux_us/hwi/ath5k_raw/module/base.c.
static void __exit exit_ath5k_pci | ( | void | ) | [static] |
Definition at line 388 of file linux_us/hwi/ath5k_raw/module/base.c.
static int ieee80211_copy_snap | ( | u8 * | data, |
unsigned short | h_proto | ||
) | [static] |
Definition at line 2009 of file linux_us/hwi/ath5k_raw/module/base.c.
static int __init init_ath5k_pci | ( | void | ) | [static] |
Definition at line 362 of file linux_us/hwi/ath5k_raw/module/base.c.
MODULE_AUTHOR | ( | "Jiri Slaby" | ) |
MODULE_AUTHOR | ( | "Nick Kossifidis" | ) |
MODULE_AUTHOR | ( | "Samuel Cabrero" | ) |
MODULE_DESCRIPTION | ( | "Modified version of the ath5k driver for use with RT-WMP protocol." | ) |
MODULE_DEVICE_TABLE | ( | pci | , |
ath5k_pci_id_table | |||
) |
MODULE_LICENSE | ( | "Dual BSD/GPL" | ) |
MODULE_SUPPORTED_DEVICE | ( | "Atheros 5xxx WLAN cards" | ) |
MODULE_VERSION | ( | "0.6.0 (EXPERIMENTAL)" | ) |
u8 ath5k_calinterval = 10 [static] |
Definition at line 94 of file linux_us/hwi/ath5k_raw/module/base.c.
struct net_device_ops ath5k_netdev_ops [static] |
{ .ndo_open = ath5k_open, .ndo_stop = ath5k_close, .ndo_start_xmit = ath5k_tx, .ndo_do_ioctl = ath5k_ioctl, }
Definition at line 329 of file linux_us/hwi/ath5k_raw/module/base.c.
struct pci_driver ath5k_pci_driver [static] |
{ .name = "ath5k_pci", .id_table = ath5k_pci_id_table, .probe = ath5k_pci_probe, .remove = __devexit_p(ath5k_pci_remove), }
Definition at line 225 of file linux_us/hwi/ath5k_raw/module/base.c.
struct pci_device_id ath5k_pci_id_table[] [static] |
{ { PCI_VDEVICE(ATHEROS, 0x0207) }, { PCI_VDEVICE(ATHEROS, 0x0007) }, { PCI_VDEVICE(ATHEROS, 0x0011) }, { PCI_VDEVICE(ATHEROS, 0x0012) }, { PCI_VDEVICE(ATHEROS, 0x0013) }, { PCI_VDEVICE(3COM_2, 0x0013) }, { PCI_VDEVICE(3COM, 0x0013) }, { PCI_VDEVICE(ATHEROS, 0x1014) }, { PCI_VDEVICE(ATHEROS, 0x0014) }, { PCI_VDEVICE(ATHEROS, 0x0015) }, { PCI_VDEVICE(ATHEROS, 0x0016) }, { PCI_VDEVICE(ATHEROS, 0x0017) }, { PCI_VDEVICE(ATHEROS, 0x0018) }, { PCI_VDEVICE(ATHEROS, 0x0019) }, { PCI_VDEVICE(ATHEROS, 0x001a) }, { PCI_VDEVICE(ATHEROS, 0x001b) }, { PCI_VDEVICE(ATHEROS, 0x001c) }, { PCI_VDEVICE(ATHEROS, 0x001d) }, { 0 } }
Definition at line 112 of file linux_us/hwi/ath5k_raw/module/base.c.
struct ieee80211_rate ath5k_rates[] [static] |
Definition at line 175 of file linux_us/hwi/ath5k_raw/module/base.c.
int modparam_all_channels = true [static] |
Definition at line 95 of file linux_us/hwi/ath5k_raw/module/base.c.
u8 P802_1H_OUI[P80211_OUI_LEN] = { 0x00, 0x00, 0xf8 } [static] |
Definition at line 2006 of file linux_us/hwi/ath5k_raw/module/base.c.
u8 RFC1042_OUI[P80211_OUI_LEN] = { 0x00, 0x00, 0x00 } [static] |
Definition at line 2007 of file linux_us/hwi/ath5k_raw/module/base.c.
struct ath5k_srev_name srev_names[] [static] |
Definition at line 136 of file linux_us/hwi/ath5k_raw/module/base.c.
int use_beacon_frames = 0 [static] |
Definition at line 96 of file linux_us/hwi/ath5k_raw/module/base.c.