Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v2.6.28 120 lines 2.6 kB view raw
1#ifndef RTL8180_H 2#define RTL8180_H 3 4#include "rtl818x.h" 5 6#define MAX_RX_SIZE IEEE80211_MAX_RTS_THRESHOLD 7 8#define RF_PARAM_ANALOGPHY (1 << 0) 9#define RF_PARAM_ANTBDEFAULT (1 << 1) 10#define RF_PARAM_CARRIERSENSE1 (1 << 2) 11#define RF_PARAM_CARRIERSENSE2 (1 << 3) 12 13#define BB_ANTATTEN_CHAN14 0x0C 14#define BB_ANTENNA_B 0x40 15 16#define BB_HOST_BANG (1 << 30) 17#define BB_HOST_BANG_EN (1 << 2) 18#define BB_HOST_BANG_CLK (1 << 1) 19#define BB_HOST_BANG_DATA 1 20 21#define ANAPARAM_TXDACOFF_SHIFT 27 22#define ANAPARAM_PWR0_SHIFT 28 23#define ANAPARAM_PWR0_MASK (0x07 << ANAPARAM_PWR0_SHIFT) 24#define ANAPARAM_PWR1_SHIFT 20 25#define ANAPARAM_PWR1_MASK (0x7F << ANAPARAM_PWR1_SHIFT) 26 27struct rtl8180_tx_desc { 28 __le32 flags; 29 __le16 rts_duration; 30 __le16 plcp_len; 31 __le32 tx_buf; 32 __le32 frame_len; 33 __le32 next_tx_desc; 34 u8 cw; 35 u8 retry_limit; 36 u8 agc; 37 u8 flags2; 38 u32 reserved[2]; 39} __attribute__ ((packed)); 40 41struct rtl8180_rx_desc { 42 __le32 flags; 43 __le32 flags2; 44 union { 45 __le32 rx_buf; 46 __le64 tsft; 47 }; 48} __attribute__ ((packed)); 49 50struct rtl8180_tx_ring { 51 struct rtl8180_tx_desc *desc; 52 dma_addr_t dma; 53 unsigned int idx; 54 unsigned int entries; 55 struct sk_buff_head queue; 56}; 57 58struct rtl8180_priv { 59 /* common between rtl818x drivers */ 60 struct rtl818x_csr __iomem *map; 61 const struct rtl818x_rf_ops *rf; 62 struct ieee80211_vif *vif; 63 int mode; 64 65 /* rtl8180 driver specific */ 66 spinlock_t lock; 67 struct rtl8180_rx_desc *rx_ring; 68 dma_addr_t rx_ring_dma; 69 unsigned int rx_idx; 70 struct sk_buff *rx_buf[32]; 71 struct rtl8180_tx_ring tx_ring[4]; 72 struct ieee80211_channel channels[14]; 73 struct ieee80211_rate rates[12]; 74 struct ieee80211_supported_band band; 75 struct pci_dev *pdev; 76 u32 rx_conf; 77 78 int r8185; 79 u32 anaparam; 80 u16 rfparam; 81 u8 csthreshold; 82}; 83 84void rtl8180_write_phy(struct ieee80211_hw *dev, u8 addr, u32 data); 85void rtl8180_set_anaparam(struct rtl8180_priv *priv, u32 anaparam); 86 87static inline u8 rtl818x_ioread8(struct rtl8180_priv *priv, u8 __iomem *addr) 88{ 89 return ioread8(addr); 90} 91 92static inline u16 rtl818x_ioread16(struct rtl8180_priv *priv, __le16 __iomem *addr) 93{ 94 return ioread16(addr); 95} 96 97static inline u32 rtl818x_ioread32(struct rtl8180_priv *priv, __le32 __iomem *addr) 98{ 99 return ioread32(addr); 100} 101 102static inline void rtl818x_iowrite8(struct rtl8180_priv *priv, 103 u8 __iomem *addr, u8 val) 104{ 105 iowrite8(val, addr); 106} 107 108static inline void rtl818x_iowrite16(struct rtl8180_priv *priv, 109 __le16 __iomem *addr, u16 val) 110{ 111 iowrite16(val, addr); 112} 113 114static inline void rtl818x_iowrite32(struct rtl8180_priv *priv, 115 __le32 __iomem *addr, u32 val) 116{ 117 iowrite32(val, addr); 118} 119 120#endif /* RTL8180_H */