iwl3945: replaces iwl3945_priv with iwl_priv

The patch replaces iwl3945_priv to iwl_priv. It adds 3945 specific
data members to iwl_priv.

Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Abhijeet Kolekar
2008-12-19 10:37:28 +08:00
committed by John W. Linville
parent f2c7e52100
commit 4a8a43222d
8 changed files with 417 additions and 595 deletions

View File

@@ -61,7 +61,7 @@
#define _iwl3945_write32(priv, ofs, val) iowrite32((val), (priv)->hw_base + (ofs)) #define _iwl3945_write32(priv, ofs, val) iowrite32((val), (priv)->hw_base + (ofs))
#ifdef CONFIG_IWL3945_DEBUG #ifdef CONFIG_IWL3945_DEBUG
static inline void __iwl3945_write32(const char *f, u32 l, struct iwl3945_priv *priv, static inline void __iwl3945_write32(const char *f, u32 l, struct iwl_priv *priv,
u32 ofs, u32 val) u32 ofs, u32 val)
{ {
IWL_DEBUG_IO("write32(0x%08X, 0x%08X) - %s %d\n", ofs, val, f, l); IWL_DEBUG_IO("write32(0x%08X, 0x%08X) - %s %d\n", ofs, val, f, l);
@@ -75,7 +75,7 @@ static inline void __iwl3945_write32(const char *f, u32 l, struct iwl3945_priv *
#define _iwl3945_read32(priv, ofs) ioread32((priv)->hw_base + (ofs)) #define _iwl3945_read32(priv, ofs) ioread32((priv)->hw_base + (ofs))
#ifdef CONFIG_IWL3945_DEBUG #ifdef CONFIG_IWL3945_DEBUG
static inline u32 __iwl3945_read32(char *f, u32 l, struct iwl3945_priv *priv, u32 ofs) static inline u32 __iwl3945_read32(char *f, u32 l, struct iwl_priv *priv, u32 ofs)
{ {
IWL_DEBUG_IO("read_direct32(0x%08X) - %s %d\n", ofs, f, l); IWL_DEBUG_IO("read_direct32(0x%08X) - %s %d\n", ofs, f, l);
return _iwl3945_read32(priv, ofs); return _iwl3945_read32(priv, ofs);
@@ -85,7 +85,7 @@ static inline u32 __iwl3945_read32(char *f, u32 l, struct iwl3945_priv *priv, u3
#define iwl3945_read32(p, o) _iwl3945_read32(p, o) #define iwl3945_read32(p, o) _iwl3945_read32(p, o)
#endif #endif
static inline int _iwl3945_poll_bit(struct iwl3945_priv *priv, u32 addr, static inline int _iwl3945_poll_bit(struct iwl_priv *priv, u32 addr,
u32 bits, u32 mask, int timeout) u32 bits, u32 mask, int timeout)
{ {
int i = 0; int i = 0;
@@ -101,7 +101,7 @@ static inline int _iwl3945_poll_bit(struct iwl3945_priv *priv, u32 addr,
} }
#ifdef CONFIG_IWL3945_DEBUG #ifdef CONFIG_IWL3945_DEBUG
static inline int __iwl3945_poll_bit(const char *f, u32 l, static inline int __iwl3945_poll_bit(const char *f, u32 l,
struct iwl3945_priv *priv, u32 addr, struct iwl_priv *priv, u32 addr,
u32 bits, u32 mask, int timeout) u32 bits, u32 mask, int timeout)
{ {
int ret = _iwl3945_poll_bit(priv, addr, bits, mask, timeout); int ret = _iwl3945_poll_bit(priv, addr, bits, mask, timeout);
@@ -116,13 +116,13 @@ static inline int __iwl3945_poll_bit(const char *f, u32 l,
#define iwl3945_poll_bit(p, a, b, m, t) _iwl3945_poll_bit(p, a, b, m, t) #define iwl3945_poll_bit(p, a, b, m, t) _iwl3945_poll_bit(p, a, b, m, t)
#endif #endif
static inline void _iwl3945_set_bit(struct iwl3945_priv *priv, u32 reg, u32 mask) static inline void _iwl3945_set_bit(struct iwl_priv *priv, u32 reg, u32 mask)
{ {
_iwl3945_write32(priv, reg, _iwl3945_read32(priv, reg) | mask); _iwl3945_write32(priv, reg, _iwl3945_read32(priv, reg) | mask);
} }
#ifdef CONFIG_IWL3945_DEBUG #ifdef CONFIG_IWL3945_DEBUG
static inline void __iwl3945_set_bit(const char *f, u32 l, static inline void __iwl3945_set_bit(const char *f, u32 l,
struct iwl3945_priv *priv, u32 reg, u32 mask) struct iwl_priv *priv, u32 reg, u32 mask)
{ {
u32 val = _iwl3945_read32(priv, reg) | mask; u32 val = _iwl3945_read32(priv, reg) | mask;
IWL_DEBUG_IO("set_bit(0x%08X, 0x%08X) = 0x%08X\n", reg, mask, val); IWL_DEBUG_IO("set_bit(0x%08X, 0x%08X) = 0x%08X\n", reg, mask, val);
@@ -133,13 +133,13 @@ static inline void __iwl3945_set_bit(const char *f, u32 l,
#define iwl3945_set_bit(p, r, m) _iwl3945_set_bit(p, r, m) #define iwl3945_set_bit(p, r, m) _iwl3945_set_bit(p, r, m)
#endif #endif
static inline void _iwl3945_clear_bit(struct iwl3945_priv *priv, u32 reg, u32 mask) static inline void _iwl3945_clear_bit(struct iwl_priv *priv, u32 reg, u32 mask)
{ {
_iwl3945_write32(priv, reg, _iwl3945_read32(priv, reg) & ~mask); _iwl3945_write32(priv, reg, _iwl3945_read32(priv, reg) & ~mask);
} }
#ifdef CONFIG_IWL3945_DEBUG #ifdef CONFIG_IWL3945_DEBUG
static inline void __iwl3945_clear_bit(const char *f, u32 l, static inline void __iwl3945_clear_bit(const char *f, u32 l,
struct iwl3945_priv *priv, u32 reg, u32 mask) struct iwl_priv *priv, u32 reg, u32 mask)
{ {
u32 val = _iwl3945_read32(priv, reg) & ~mask; u32 val = _iwl3945_read32(priv, reg) & ~mask;
IWL_DEBUG_IO("clear_bit(0x%08X, 0x%08X) = 0x%08X\n", reg, mask, val); IWL_DEBUG_IO("clear_bit(0x%08X, 0x%08X) = 0x%08X\n", reg, mask, val);
@@ -150,7 +150,7 @@ static inline void __iwl3945_clear_bit(const char *f, u32 l,
#define iwl3945_clear_bit(p, r, m) _iwl3945_clear_bit(p, r, m) #define iwl3945_clear_bit(p, r, m) _iwl3945_clear_bit(p, r, m)
#endif #endif
static inline int _iwl3945_grab_nic_access(struct iwl3945_priv *priv) static inline int _iwl3945_grab_nic_access(struct iwl_priv *priv)
{ {
int ret; int ret;
#ifdef CONFIG_IWL3945_DEBUG #ifdef CONFIG_IWL3945_DEBUG
@@ -176,7 +176,7 @@ static inline int _iwl3945_grab_nic_access(struct iwl3945_priv *priv)
#ifdef CONFIG_IWL3945_DEBUG #ifdef CONFIG_IWL3945_DEBUG
static inline int __iwl3945_grab_nic_access(const char *f, u32 l, static inline int __iwl3945_grab_nic_access(const char *f, u32 l,
struct iwl3945_priv *priv) struct iwl_priv *priv)
{ {
if (atomic_read(&priv->restrict_refcnt)) if (atomic_read(&priv->restrict_refcnt))
IWL_DEBUG_INFO("Grabbing access while already held at " IWL_DEBUG_INFO("Grabbing access while already held at "
@@ -192,7 +192,7 @@ static inline int __iwl3945_grab_nic_access(const char *f, u32 l,
_iwl3945_grab_nic_access(priv) _iwl3945_grab_nic_access(priv)
#endif #endif
static inline void _iwl3945_release_nic_access(struct iwl3945_priv *priv) static inline void _iwl3945_release_nic_access(struct iwl_priv *priv)
{ {
#ifdef CONFIG_IWL3945_DEBUG #ifdef CONFIG_IWL3945_DEBUG
if (atomic_dec_and_test(&priv->restrict_refcnt)) if (atomic_dec_and_test(&priv->restrict_refcnt))
@@ -202,7 +202,7 @@ static inline void _iwl3945_release_nic_access(struct iwl3945_priv *priv)
} }
#ifdef CONFIG_IWL3945_DEBUG #ifdef CONFIG_IWL3945_DEBUG
static inline void __iwl3945_release_nic_access(const char *f, u32 l, static inline void __iwl3945_release_nic_access(const char *f, u32 l,
struct iwl3945_priv *priv) struct iwl_priv *priv)
{ {
if (atomic_read(&priv->restrict_refcnt) <= 0) if (atomic_read(&priv->restrict_refcnt) <= 0)
IWL_ERROR("Release unheld nic access at line %d.\n", l); IWL_ERROR("Release unheld nic access at line %d.\n", l);
@@ -217,13 +217,13 @@ static inline void __iwl3945_release_nic_access(const char *f, u32 l,
_iwl3945_release_nic_access(priv) _iwl3945_release_nic_access(priv)
#endif #endif
static inline u32 _iwl3945_read_direct32(struct iwl3945_priv *priv, u32 reg) static inline u32 _iwl3945_read_direct32(struct iwl_priv *priv, u32 reg)
{ {
return _iwl3945_read32(priv, reg); return _iwl3945_read32(priv, reg);
} }
#ifdef CONFIG_IWL3945_DEBUG #ifdef CONFIG_IWL3945_DEBUG
static inline u32 __iwl3945_read_direct32(const char *f, u32 l, static inline u32 __iwl3945_read_direct32(const char *f, u32 l,
struct iwl3945_priv *priv, u32 reg) struct iwl_priv *priv, u32 reg)
{ {
u32 value = _iwl3945_read_direct32(priv, reg); u32 value = _iwl3945_read_direct32(priv, reg);
if (!atomic_read(&priv->restrict_refcnt)) if (!atomic_read(&priv->restrict_refcnt))
@@ -238,14 +238,14 @@ static inline u32 __iwl3945_read_direct32(const char *f, u32 l,
#define iwl3945_read_direct32 _iwl3945_read_direct32 #define iwl3945_read_direct32 _iwl3945_read_direct32
#endif #endif
static inline void _iwl3945_write_direct32(struct iwl3945_priv *priv, static inline void _iwl3945_write_direct32(struct iwl_priv *priv,
u32 reg, u32 value) u32 reg, u32 value)
{ {
_iwl3945_write32(priv, reg, value); _iwl3945_write32(priv, reg, value);
} }
#ifdef CONFIG_IWL3945_DEBUG #ifdef CONFIG_IWL3945_DEBUG
static void __iwl3945_write_direct32(u32 line, static void __iwl3945_write_direct32(u32 line,
struct iwl3945_priv *priv, u32 reg, u32 value) struct iwl_priv *priv, u32 reg, u32 value)
{ {
if (!atomic_read(&priv->restrict_refcnt)) if (!atomic_read(&priv->restrict_refcnt))
IWL_ERROR("Nic access not held from line %d\n", line); IWL_ERROR("Nic access not held from line %d\n", line);
@@ -257,7 +257,7 @@ static void __iwl3945_write_direct32(u32 line,
#define iwl3945_write_direct32 _iwl3945_write_direct32 #define iwl3945_write_direct32 _iwl3945_write_direct32
#endif #endif
static inline void iwl3945_write_reg_buf(struct iwl3945_priv *priv, static inline void iwl3945_write_reg_buf(struct iwl_priv *priv,
u32 reg, u32 len, u32 *values) u32 reg, u32 len, u32 *values)
{ {
u32 count = sizeof(u32); u32 count = sizeof(u32);
@@ -268,7 +268,7 @@ static inline void iwl3945_write_reg_buf(struct iwl3945_priv *priv,
} }
} }
static inline int _iwl3945_poll_direct_bit(struct iwl3945_priv *priv, static inline int _iwl3945_poll_direct_bit(struct iwl_priv *priv,
u32 addr, u32 mask, int timeout) u32 addr, u32 mask, int timeout)
{ {
return _iwl3945_poll_bit(priv, addr, mask, mask, timeout); return _iwl3945_poll_bit(priv, addr, mask, mask, timeout);
@@ -276,7 +276,7 @@ static inline int _iwl3945_poll_direct_bit(struct iwl3945_priv *priv,
#ifdef CONFIG_IWL3945_DEBUG #ifdef CONFIG_IWL3945_DEBUG
static inline int __iwl3945_poll_direct_bit(const char *f, u32 l, static inline int __iwl3945_poll_direct_bit(const char *f, u32 l,
struct iwl3945_priv *priv, struct iwl_priv *priv,
u32 addr, u32 mask, int timeout) u32 addr, u32 mask, int timeout)
{ {
int ret = _iwl3945_poll_direct_bit(priv, addr, mask, timeout); int ret = _iwl3945_poll_direct_bit(priv, addr, mask, timeout);
@@ -295,14 +295,14 @@ static inline int __iwl3945_poll_direct_bit(const char *f, u32 l,
#define iwl3945_poll_direct_bit _iwl3945_poll_direct_bit #define iwl3945_poll_direct_bit _iwl3945_poll_direct_bit
#endif #endif
static inline u32 _iwl3945_read_prph(struct iwl3945_priv *priv, u32 reg) static inline u32 _iwl3945_read_prph(struct iwl_priv *priv, u32 reg)
{ {
_iwl3945_write_direct32(priv, HBUS_TARG_PRPH_RADDR, reg | (3 << 24)); _iwl3945_write_direct32(priv, HBUS_TARG_PRPH_RADDR, reg | (3 << 24));
rmb(); rmb();
return _iwl3945_read_direct32(priv, HBUS_TARG_PRPH_RDAT); return _iwl3945_read_direct32(priv, HBUS_TARG_PRPH_RDAT);
} }
#ifdef CONFIG_IWL3945_DEBUG #ifdef CONFIG_IWL3945_DEBUG
static inline u32 __iwl3945_read_prph(u32 line, struct iwl3945_priv *priv, u32 reg) static inline u32 __iwl3945_read_prph(u32 line, struct iwl_priv *priv, u32 reg)
{ {
if (!atomic_read(&priv->restrict_refcnt)) if (!atomic_read(&priv->restrict_refcnt))
IWL_ERROR("Nic access not held from line %d\n", line); IWL_ERROR("Nic access not held from line %d\n", line);
@@ -315,7 +315,7 @@ static inline u32 __iwl3945_read_prph(u32 line, struct iwl3945_priv *priv, u32 r
#define iwl3945_read_prph _iwl3945_read_prph #define iwl3945_read_prph _iwl3945_read_prph
#endif #endif
static inline void _iwl3945_write_prph(struct iwl3945_priv *priv, static inline void _iwl3945_write_prph(struct iwl_priv *priv,
u32 addr, u32 val) u32 addr, u32 val)
{ {
_iwl3945_write_direct32(priv, HBUS_TARG_PRPH_WADDR, _iwl3945_write_direct32(priv, HBUS_TARG_PRPH_WADDR,
@@ -324,7 +324,7 @@ static inline void _iwl3945_write_prph(struct iwl3945_priv *priv,
_iwl3945_write_direct32(priv, HBUS_TARG_PRPH_WDAT, val); _iwl3945_write_direct32(priv, HBUS_TARG_PRPH_WDAT, val);
} }
#ifdef CONFIG_IWL3945_DEBUG #ifdef CONFIG_IWL3945_DEBUG
static inline void __iwl3945_write_prph(u32 line, struct iwl3945_priv *priv, static inline void __iwl3945_write_prph(u32 line, struct iwl_priv *priv,
u32 addr, u32 val) u32 addr, u32 val)
{ {
if (!atomic_read(&priv->restrict_refcnt)) if (!atomic_read(&priv->restrict_refcnt))
@@ -341,7 +341,7 @@ static inline void __iwl3945_write_prph(u32 line, struct iwl3945_priv *priv,
#define _iwl3945_set_bits_prph(priv, reg, mask) \ #define _iwl3945_set_bits_prph(priv, reg, mask) \
_iwl3945_write_prph(priv, reg, (_iwl3945_read_prph(priv, reg) | mask)) _iwl3945_write_prph(priv, reg, (_iwl3945_read_prph(priv, reg) | mask))
#ifdef CONFIG_IWL3945_DEBUG #ifdef CONFIG_IWL3945_DEBUG
static inline void __iwl3945_set_bits_prph(u32 line, struct iwl3945_priv *priv, static inline void __iwl3945_set_bits_prph(u32 line, struct iwl_priv *priv,
u32 reg, u32 mask) u32 reg, u32 mask)
{ {
if (!atomic_read(&priv->restrict_refcnt)) if (!atomic_read(&priv->restrict_refcnt))
@@ -360,7 +360,7 @@ static inline void __iwl3945_set_bits_prph(u32 line, struct iwl3945_priv *priv,
#ifdef CONFIG_IWL3945_DEBUG #ifdef CONFIG_IWL3945_DEBUG
static inline void __iwl3945_set_bits_mask_prph(u32 line, static inline void __iwl3945_set_bits_mask_prph(u32 line,
struct iwl3945_priv *priv, u32 reg, u32 bits, u32 mask) struct iwl_priv *priv, u32 reg, u32 bits, u32 mask)
{ {
if (!atomic_read(&priv->restrict_refcnt)) if (!atomic_read(&priv->restrict_refcnt))
IWL_ERROR("Nic access not held from line %d\n", line); IWL_ERROR("Nic access not held from line %d\n", line);
@@ -372,28 +372,28 @@ static inline void __iwl3945_set_bits_mask_prph(u32 line,
#define iwl3945_set_bits_mask_prph _iwl3945_set_bits_mask_prph #define iwl3945_set_bits_mask_prph _iwl3945_set_bits_mask_prph
#endif #endif
static inline void iwl3945_clear_bits_prph(struct iwl3945_priv static inline void iwl3945_clear_bits_prph(struct iwl_priv
*priv, u32 reg, u32 mask) *priv, u32 reg, u32 mask)
{ {
u32 val = _iwl3945_read_prph(priv, reg); u32 val = _iwl3945_read_prph(priv, reg);
_iwl3945_write_prph(priv, reg, (val & ~mask)); _iwl3945_write_prph(priv, reg, (val & ~mask));
} }
static inline u32 iwl3945_read_targ_mem(struct iwl3945_priv *priv, u32 addr) static inline u32 iwl3945_read_targ_mem(struct iwl_priv *priv, u32 addr)
{ {
iwl3945_write_direct32(priv, HBUS_TARG_MEM_RADDR, addr); iwl3945_write_direct32(priv, HBUS_TARG_MEM_RADDR, addr);
rmb(); rmb();
return iwl3945_read_direct32(priv, HBUS_TARG_MEM_RDAT); return iwl3945_read_direct32(priv, HBUS_TARG_MEM_RDAT);
} }
static inline void iwl3945_write_targ_mem(struct iwl3945_priv *priv, u32 addr, u32 val) static inline void iwl3945_write_targ_mem(struct iwl_priv *priv, u32 addr, u32 val)
{ {
iwl3945_write_direct32(priv, HBUS_TARG_MEM_WADDR, addr); iwl3945_write_direct32(priv, HBUS_TARG_MEM_WADDR, addr);
wmb(); wmb();
iwl3945_write_direct32(priv, HBUS_TARG_MEM_WDAT, val); iwl3945_write_direct32(priv, HBUS_TARG_MEM_WDAT, val);
} }
static inline void iwl3945_write_targ_mem_buf(struct iwl3945_priv *priv, u32 addr, static inline void iwl3945_write_targ_mem_buf(struct iwl_priv *priv, u32 addr,
u32 len, u32 *values) u32 len, u32 *values)
{ {
iwl3945_write_direct32(priv, HBUS_TARG_MEM_WADDR, addr); iwl3945_write_direct32(priv, HBUS_TARG_MEM_WADDR, addr);

View File

@@ -67,7 +67,7 @@ static const struct {
#define IWL_MAX_BLINK_TBL (ARRAY_SIZE(blink_tbl) - 1) /*Exclude Solid on*/ #define IWL_MAX_BLINK_TBL (ARRAY_SIZE(blink_tbl) - 1) /*Exclude Solid on*/
#define IWL_SOLID_BLINK_IDX (ARRAY_SIZE(blink_tbl) - 1) #define IWL_SOLID_BLINK_IDX (ARRAY_SIZE(blink_tbl) - 1)
static int iwl3945_led_cmd_callback(struct iwl3945_priv *priv, static int iwl3945_led_cmd_callback(struct iwl_priv *priv,
struct iwl3945_cmd *cmd, struct iwl3945_cmd *cmd,
struct sk_buff *skb) struct sk_buff *skb)
{ {
@@ -80,7 +80,7 @@ static inline int iwl3945_brightness_to_idx(enum led_brightness brightness)
} }
/* Send led command */ /* Send led command */
static int iwl_send_led_cmd(struct iwl3945_priv *priv, static int iwl_send_led_cmd(struct iwl_priv *priv,
struct iwl_led_cmd *led_cmd) struct iwl_led_cmd *led_cmd)
{ {
struct iwl3945_host_cmd cmd = { struct iwl3945_host_cmd cmd = {
@@ -97,7 +97,7 @@ static int iwl_send_led_cmd(struct iwl3945_priv *priv,
/* Set led on command */ /* Set led on command */
static int iwl3945_led_pattern(struct iwl3945_priv *priv, int led_id, static int iwl3945_led_pattern(struct iwl_priv *priv, int led_id,
unsigned int idx) unsigned int idx)
{ {
struct iwl_led_cmd led_cmd = { struct iwl_led_cmd led_cmd = {
@@ -115,7 +115,7 @@ static int iwl3945_led_pattern(struct iwl3945_priv *priv, int led_id,
/* Set led on command */ /* Set led on command */
static int iwl3945_led_on(struct iwl3945_priv *priv, int led_id) static int iwl3945_led_on(struct iwl_priv *priv, int led_id)
{ {
struct iwl_led_cmd led_cmd = { struct iwl_led_cmd led_cmd = {
.id = led_id, .id = led_id,
@@ -127,7 +127,7 @@ static int iwl3945_led_on(struct iwl3945_priv *priv, int led_id)
} }
/* Set led off command */ /* Set led off command */
static int iwl3945_led_off(struct iwl3945_priv *priv, int led_id) static int iwl3945_led_off(struct iwl_priv *priv, int led_id)
{ {
struct iwl_led_cmd led_cmd = { struct iwl_led_cmd led_cmd = {
.id = led_id, .id = led_id,
@@ -142,7 +142,7 @@ static int iwl3945_led_off(struct iwl3945_priv *priv, int led_id)
/* /*
* brightness call back function for Tx/Rx LED * brightness call back function for Tx/Rx LED
*/ */
static int iwl3945_led_associated(struct iwl3945_priv *priv, int led_id) static int iwl3945_led_associated(struct iwl_priv *priv, int led_id)
{ {
if (test_bit(STATUS_EXIT_PENDING, &priv->status) || if (test_bit(STATUS_EXIT_PENDING, &priv->status) ||
!test_bit(STATUS_READY, &priv->status)) !test_bit(STATUS_READY, &priv->status))
@@ -163,7 +163,7 @@ static void iwl3945_led_brightness_set(struct led_classdev *led_cdev,
{ {
struct iwl3945_led *led = container_of(led_cdev, struct iwl3945_led *led = container_of(led_cdev,
struct iwl3945_led, led_dev); struct iwl3945_led, led_dev);
struct iwl3945_priv *priv = led->priv; struct iwl_priv *priv = led->priv;
if (test_bit(STATUS_EXIT_PENDING, &priv->status)) if (test_bit(STATUS_EXIT_PENDING, &priv->status))
return; return;
@@ -199,7 +199,7 @@ static void iwl3945_led_brightness_set(struct led_classdev *led_cdev,
/* /*
* Register led class with the system * Register led class with the system
*/ */
static int iwl3945_led_register_led(struct iwl3945_priv *priv, static int iwl3945_led_register_led(struct iwl_priv *priv,
struct iwl3945_led *led, struct iwl3945_led *led,
enum led_type type, u8 set_led, enum led_type type, u8 set_led,
char *trigger) char *trigger)
@@ -231,7 +231,7 @@ static int iwl3945_led_register_led(struct iwl3945_priv *priv,
/* /*
* calculate blink rate according to last 2 sec Tx/Rx activities * calculate blink rate according to last 2 sec Tx/Rx activities
*/ */
static inline u8 get_blink_rate(struct iwl3945_priv *priv) static inline u8 get_blink_rate(struct iwl_priv *priv)
{ {
int index; int index;
u64 current_tpt = priv->rxtxpackets; u64 current_tpt = priv->rxtxpackets;
@@ -250,7 +250,7 @@ static inline u8 get_blink_rate(struct iwl3945_priv *priv)
return index; return index;
} }
static inline int is_rf_kill(struct iwl3945_priv *priv) static inline int is_rf_kill(struct iwl_priv *priv)
{ {
return test_bit(STATUS_RF_KILL_HW, &priv->status) || return test_bit(STATUS_RF_KILL_HW, &priv->status) ||
test_bit(STATUS_RF_KILL_SW, &priv->status); test_bit(STATUS_RF_KILL_SW, &priv->status);
@@ -261,7 +261,7 @@ static inline int is_rf_kill(struct iwl3945_priv *priv)
* happen very frequent we postpone led command to be called from * happen very frequent we postpone led command to be called from
* REPLY handler so we know ucode is up * REPLY handler so we know ucode is up
*/ */
void iwl3945_led_background(struct iwl3945_priv *priv) void iwl3945_led_background(struct iwl_priv *priv)
{ {
u8 blink_idx; u8 blink_idx;
@@ -301,7 +301,7 @@ void iwl3945_led_background(struct iwl3945_priv *priv)
/* Register all led handler */ /* Register all led handler */
int iwl3945_led_register(struct iwl3945_priv *priv) int iwl3945_led_register(struct iwl_priv *priv)
{ {
char *trigger; char *trigger;
int ret; int ret;
@@ -399,7 +399,7 @@ static void iwl3945_led_unregister_led(struct iwl3945_led *led, u8 set_led)
} }
/* Unregister all led handlers */ /* Unregister all led handlers */
void iwl3945_led_unregister(struct iwl3945_priv *priv) void iwl3945_led_unregister(struct iwl_priv *priv)
{ {
iwl3945_led_unregister_led(&priv->led39[IWL_LED_TRG_ASSOC], 0); iwl3945_led_unregister_led(&priv->led39[IWL_LED_TRG_ASSOC], 0);
iwl3945_led_unregister_led(&priv->led39[IWL_LED_TRG_RX], 0); iwl3945_led_unregister_led(&priv->led39[IWL_LED_TRG_RX], 0);

View File

@@ -27,34 +27,34 @@
#ifndef IWL3945_LEDS_H #ifndef IWL3945_LEDS_H
#define IWL3945_LEDS_H #define IWL3945_LEDS_H
struct iwl3945_priv; struct iwl_priv;
#ifdef CONFIG_IWL3945_LEDS #ifdef CONFIG_IWL3945_LEDS
#include "iwl-led.h" #include "iwl-led.h"
struct iwl3945_led { struct iwl3945_led {
struct iwl3945_priv *priv; struct iwl_priv *priv;
struct led_classdev led_dev; struct led_classdev led_dev;
char name[32]; char name[32];
int (*led_on) (struct iwl3945_priv *priv, int led_id); int (*led_on) (struct iwl_priv *priv, int led_id);
int (*led_off) (struct iwl3945_priv *priv, int led_id); int (*led_off) (struct iwl_priv *priv, int led_id);
int (*led_pattern) (struct iwl3945_priv *priv, int led_id, int (*led_pattern) (struct iwl_priv *priv, int led_id,
unsigned int idx); unsigned int idx);
enum led_type type; enum led_type type;
unsigned int registered; unsigned int registered;
}; };
extern int iwl3945_led_register(struct iwl3945_priv *priv); extern int iwl3945_led_register(struct iwl_priv *priv);
extern void iwl3945_led_unregister(struct iwl3945_priv *priv); extern void iwl3945_led_unregister(struct iwl_priv *priv);
extern void iwl3945_led_background(struct iwl3945_priv *priv); extern void iwl3945_led_background(struct iwl_priv *priv);
#else #else
static inline int iwl3945_led_register(struct iwl3945_priv *priv) { return 0; } static inline int iwl3945_led_register(struct iwl_priv *priv) { return 0; }
static inline void iwl3945_led_unregister(struct iwl3945_priv *priv) {} static inline void iwl3945_led_unregister(struct iwl_priv *priv) {}
static inline void iwl3945_led_background(struct iwl3945_priv *priv) {} static inline void iwl3945_led_background(struct iwl_priv *priv) {}
#endif /* CONFIG_IWL3945_LEDS */ #endif /* CONFIG_IWL3945_LEDS */
#endif /* IWL3945_LEDS_H */ #endif /* IWL3945_LEDS_H */

View File

@@ -52,7 +52,7 @@ struct iwl3945_rate_scale_data {
struct iwl3945_rs_sta { struct iwl3945_rs_sta {
spinlock_t lock; spinlock_t lock;
struct iwl3945_priv *priv; struct iwl_priv *priv;
s32 *expected_tpt; s32 *expected_tpt;
unsigned long last_partial_flush; unsigned long last_partial_flush;
unsigned long last_flush; unsigned long last_flush;
@@ -183,7 +183,7 @@ static int iwl3945_rate_scale_flush_windows(struct iwl3945_rs_sta *rs_sta)
int unflushed = 0; int unflushed = 0;
int i; int i;
unsigned long flags; unsigned long flags;
struct iwl3945_priv *priv = rs_sta->priv; struct iwl_priv *priv = rs_sta->priv;
/* /*
* For each rate, if we have collected data on that rate * For each rate, if we have collected data on that rate
@@ -216,7 +216,7 @@ static int iwl3945_rate_scale_flush_windows(struct iwl3945_rs_sta *rs_sta)
static void iwl3945_bg_rate_scale_flush(unsigned long data) static void iwl3945_bg_rate_scale_flush(unsigned long data)
{ {
struct iwl3945_rs_sta *rs_sta = (void *)data; struct iwl3945_rs_sta *rs_sta = (void *)data;
struct iwl3945_priv *priv = rs_sta->priv; struct iwl_priv *priv = rs_sta->priv;
int unflushed = 0; int unflushed = 0;
unsigned long flags; unsigned long flags;
u32 packet_count, duration, pps; u32 packet_count, duration, pps;
@@ -290,7 +290,7 @@ static void iwl3945_collect_tx_data(struct iwl3945_rs_sta *rs_sta,
{ {
unsigned long flags; unsigned long flags;
s32 fail_count; s32 fail_count;
struct iwl3945_priv *priv = rs_sta->priv; struct iwl_priv *priv = rs_sta->priv;
if (!retries) { if (!retries) {
IWL_DEBUG_RATE("leave: retries == 0 -- should be at least 1\n"); IWL_DEBUG_RATE("leave: retries == 0 -- should be at least 1\n");
@@ -344,7 +344,7 @@ static void rs_rate_init(void *priv_r, struct ieee80211_supported_band *sband,
struct ieee80211_sta *sta, void *priv_sta) struct ieee80211_sta *sta, void *priv_sta)
{ {
struct iwl3945_rs_sta *rs_sta = priv_sta; struct iwl3945_rs_sta *rs_sta = priv_sta;
struct iwl3945_priv *priv = (struct iwl3945_priv *)priv_r; struct iwl_priv *priv = (struct iwl_priv *)priv_r;
int i; int i;
IWL_DEBUG_RATE("enter\n"); IWL_DEBUG_RATE("enter\n");
@@ -388,7 +388,7 @@ static void *rs_alloc_sta(void *iwl_priv, struct ieee80211_sta *sta, gfp_t gfp)
{ {
struct iwl3945_rs_sta *rs_sta; struct iwl3945_rs_sta *rs_sta;
struct iwl3945_sta_priv *psta = (void *) sta->drv_priv; struct iwl3945_sta_priv *psta = (void *) sta->drv_priv;
struct iwl3945_priv *priv = iwl_priv; struct iwl_priv *priv = iwl_priv;
int i; int i;
/* /*
@@ -438,7 +438,7 @@ static void rs_free_sta(void *iwl_priv, struct ieee80211_sta *sta,
{ {
struct iwl3945_sta_priv *psta = (void *) sta->drv_priv; struct iwl3945_sta_priv *psta = (void *) sta->drv_priv;
struct iwl3945_rs_sta *rs_sta = priv_sta; struct iwl3945_rs_sta *rs_sta = priv_sta;
struct iwl3945_priv *priv = rs_sta->priv; struct iwl_priv *priv = rs_sta->priv;
psta->rs_sta = NULL; psta->rs_sta = NULL;
@@ -452,7 +452,7 @@ static void rs_free_sta(void *iwl_priv, struct ieee80211_sta *sta,
/** /**
* rs_tx_status - Update rate control values based on Tx results * rs_tx_status - Update rate control values based on Tx results
* *
* NOTE: Uses iwl3945_priv->retry_rate for the # of retries attempted by * NOTE: Uses iwl_priv->retry_rate for the # of retries attempted by
* the hardware for each rate. * the hardware for each rate.
*/ */
static void rs_tx_status(void *priv_rate, struct ieee80211_supported_band *sband, static void rs_tx_status(void *priv_rate, struct ieee80211_supported_band *sband,
@@ -462,7 +462,7 @@ static void rs_tx_status(void *priv_rate, struct ieee80211_supported_band *sband
s8 retries = 0, current_count; s8 retries = 0, current_count;
int scale_rate_index, first_index, last_index; int scale_rate_index, first_index, last_index;
unsigned long flags; unsigned long flags;
struct iwl3945_priv *priv = (struct iwl3945_priv *)priv_rate; struct iwl_priv *priv = (struct iwl_priv *)priv_rate;
struct iwl3945_rs_sta *rs_sta = priv_sta; struct iwl3945_rs_sta *rs_sta = priv_sta;
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
@@ -556,7 +556,7 @@ static u16 iwl3945_get_adjacent_rate(struct iwl3945_rs_sta *rs_sta,
{ {
u8 high = IWL_RATE_INVALID; u8 high = IWL_RATE_INVALID;
u8 low = IWL_RATE_INVALID; u8 low = IWL_RATE_INVALID;
struct iwl3945_priv *priv = rs_sta->priv; struct iwl_priv *priv = rs_sta->priv;
/* 802.11A walks to the next literal adjacent rate in /* 802.11A walks to the next literal adjacent rate in
* the rate table */ * the rate table */
@@ -651,7 +651,7 @@ static void rs_get_rate(void *priv_r, struct ieee80211_sta *sta,
struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data; struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data;
u16 fc; u16 fc;
u16 rate_mask = 0; u16 rate_mask = 0;
struct iwl3945_priv *priv = (struct iwl3945_priv *)priv_r; struct iwl_priv *priv = (struct iwl_priv *)priv_r;
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
IWL_DEBUG_RATE("enter\n"); IWL_DEBUG_RATE("enter\n");
@@ -890,7 +890,7 @@ static struct rate_control_ops rs_ops = {
void iwl3945_rate_scale_init(struct ieee80211_hw *hw, s32 sta_id) void iwl3945_rate_scale_init(struct ieee80211_hw *hw, s32 sta_id)
{ {
struct iwl3945_priv *priv = hw->priv; struct iwl_priv *priv = hw->priv;
s32 rssi = 0; s32 rssi = 0;
unsigned long flags; unsigned long flags;
struct iwl3945_rs_sta *rs_sta; struct iwl3945_rs_sta *rs_sta;

View File

@@ -93,7 +93,7 @@ const struct iwl3945_rate_info iwl3945_rates[IWL_RATE_COUNT_3945] = {
* Use for only special debugging. This function is just a placeholder as-is, * Use for only special debugging. This function is just a placeholder as-is,
* you'll need to provide the special bits! ... * you'll need to provide the special bits! ...
* ... and set IWL_EVT_DISABLE to 1. */ * ... and set IWL_EVT_DISABLE to 1. */
void iwl3945_disable_events(struct iwl3945_priv *priv) void iwl3945_disable_events(struct iwl_priv *priv)
{ {
int ret; int ret;
int i; int i;
@@ -206,7 +206,7 @@ static int iwl3945_hwrate_to_plcp_idx(u8 plcp)
* IWL_ANTENNA_MAIN - Force MAIN antenna * IWL_ANTENNA_MAIN - Force MAIN antenna
* IWL_ANTENNA_AUX - Force AUX antenna * IWL_ANTENNA_AUX - Force AUX antenna
*/ */
__le32 iwl3945_get_antenna_flags(const struct iwl3945_priv *priv) __le32 iwl3945_get_antenna_flags(const struct iwl_priv *priv)
{ {
switch (priv->antenna) { switch (priv->antenna) {
case IWL_ANTENNA_DIVERSITY: case IWL_ANTENNA_DIVERSITY:
@@ -268,7 +268,7 @@ static inline const char *iwl3945_get_tx_fail_reason(u32 status)
* for A and B mode we need to overright prev * for A and B mode we need to overright prev
* value * value
*/ */
int iwl3945_rs_next_rate(struct iwl3945_priv *priv, int rate) int iwl3945_rs_next_rate(struct iwl_priv *priv, int rate)
{ {
int next_rate = iwl3945_get_prev_ieee_rate(rate); int next_rate = iwl3945_get_prev_ieee_rate(rate);
@@ -302,7 +302,7 @@ int iwl3945_rs_next_rate(struct iwl3945_priv *priv, int rate)
* need to be reclaimed. As result, some free space forms. If there is * need to be reclaimed. As result, some free space forms. If there is
* enough free space (> low mark), wake the stack that feeds us. * enough free space (> low mark), wake the stack that feeds us.
*/ */
static void iwl3945_tx_queue_reclaim(struct iwl3945_priv *priv, static void iwl3945_tx_queue_reclaim(struct iwl_priv *priv,
int txq_id, int index) int txq_id, int index)
{ {
struct iwl3945_tx_queue *txq = &priv->txq39[txq_id]; struct iwl3945_tx_queue *txq = &priv->txq39[txq_id];
@@ -329,7 +329,7 @@ static void iwl3945_tx_queue_reclaim(struct iwl3945_priv *priv,
/** /**
* iwl3945_rx_reply_tx - Handle Tx response * iwl3945_rx_reply_tx - Handle Tx response
*/ */
static void iwl3945_rx_reply_tx(struct iwl3945_priv *priv, static void iwl3945_rx_reply_tx(struct iwl_priv *priv,
struct iwl_rx_mem_buffer *rxb) struct iwl_rx_mem_buffer *rxb)
{ {
struct iwl_rx_packet *pkt = (void *)rxb->skb->data; struct iwl_rx_packet *pkt = (void *)rxb->skb->data;
@@ -389,7 +389,7 @@ static void iwl3945_rx_reply_tx(struct iwl3945_priv *priv,
* *
*****************************************************************************/ *****************************************************************************/
void iwl3945_hw_rx_statistics(struct iwl3945_priv *priv, struct iwl_rx_mem_buffer *rxb) void iwl3945_hw_rx_statistics(struct iwl_priv *priv, struct iwl_rx_mem_buffer *rxb)
{ {
struct iwl_rx_packet *pkt = (void *)rxb->skb->data; struct iwl_rx_packet *pkt = (void *)rxb->skb->data;
IWL_DEBUG_RX("Statistics notification received (%d vs %d).\n", IWL_DEBUG_RX("Statistics notification received (%d vs %d).\n",
@@ -417,7 +417,7 @@ void iwl3945_hw_rx_statistics(struct iwl3945_priv *priv, struct iwl_rx_mem_buffe
* including selective frame dumps. * including selective frame dumps.
* group100 parameter selects whether to show 1 out of 100 good frames. * group100 parameter selects whether to show 1 out of 100 good frames.
*/ */
static void iwl3945_dbg_report_frame(struct iwl3945_priv *priv, static void iwl3945_dbg_report_frame(struct iwl_priv *priv,
struct iwl_rx_packet *pkt, struct iwl_rx_packet *pkt,
struct ieee80211_hdr *header, int group100) struct ieee80211_hdr *header, int group100)
{ {
@@ -545,7 +545,7 @@ static void iwl3945_dbg_report_frame(struct iwl3945_priv *priv,
iwl_print_hex_dump(priv, IWL_DL_RX, data, length); iwl_print_hex_dump(priv, IWL_DL_RX, data, length);
} }
#else #else
static inline void iwl3945_dbg_report_frame(struct iwl3945_priv *priv, static inline void iwl3945_dbg_report_frame(struct iwl_priv *priv,
struct iwl_rx_packet *pkt, struct iwl_rx_packet *pkt,
struct ieee80211_hdr *header, int group100) struct ieee80211_hdr *header, int group100)
{ {
@@ -553,7 +553,7 @@ static inline void iwl3945_dbg_report_frame(struct iwl3945_priv *priv,
#endif #endif
/* This is necessary only for a number of statistics, see the caller. */ /* This is necessary only for a number of statistics, see the caller. */
static int iwl3945_is_network_packet(struct iwl3945_priv *priv, static int iwl3945_is_network_packet(struct iwl_priv *priv,
struct ieee80211_hdr *header) struct ieee80211_hdr *header)
{ {
/* Filter incoming packets to determine if they are targeted toward /* Filter incoming packets to determine if they are targeted toward
@@ -570,7 +570,7 @@ static int iwl3945_is_network_packet(struct iwl3945_priv *priv,
} }
} }
static void iwl3945_pass_packet_to_mac80211(struct iwl3945_priv *priv, static void iwl3945_pass_packet_to_mac80211(struct iwl_priv *priv,
struct iwl_rx_mem_buffer *rxb, struct iwl_rx_mem_buffer *rxb,
struct ieee80211_rx_status *stats) struct ieee80211_rx_status *stats)
{ {
@@ -613,7 +613,7 @@ static void iwl3945_pass_packet_to_mac80211(struct iwl3945_priv *priv,
#define IWL_DELAY_NEXT_SCAN_AFTER_ASSOC (HZ*6) #define IWL_DELAY_NEXT_SCAN_AFTER_ASSOC (HZ*6)
static void iwl3945_rx_reply_rx(struct iwl3945_priv *priv, static void iwl3945_rx_reply_rx(struct iwl_priv *priv,
struct iwl_rx_mem_buffer *rxb) struct iwl_rx_mem_buffer *rxb)
{ {
struct ieee80211_hdr *header; struct ieee80211_hdr *header;
@@ -723,7 +723,7 @@ static void iwl3945_rx_reply_rx(struct iwl3945_priv *priv,
iwl3945_pass_packet_to_mac80211(priv, rxb, &rx_status); iwl3945_pass_packet_to_mac80211(priv, rxb, &rx_status);
} }
int iwl3945_hw_txq_attach_buf_to_tfd(struct iwl3945_priv *priv, void *ptr, int iwl3945_hw_txq_attach_buf_to_tfd(struct iwl_priv *priv, void *ptr,
dma_addr_t addr, u16 len) dma_addr_t addr, u16 len)
{ {
int count; int count;
@@ -755,7 +755,7 @@ int iwl3945_hw_txq_attach_buf_to_tfd(struct iwl3945_priv *priv, void *ptr,
* *
* Does NOT advance any indexes * Does NOT advance any indexes
*/ */
int iwl3945_hw_txq_free_tfd(struct iwl3945_priv *priv, struct iwl3945_tx_queue *txq) int iwl3945_hw_txq_free_tfd(struct iwl_priv *priv, struct iwl3945_tx_queue *txq)
{ {
struct iwl3945_tfd_frame *bd_tmp = (struct iwl3945_tfd_frame *)&txq->bd[0]; struct iwl3945_tfd_frame *bd_tmp = (struct iwl3945_tfd_frame *)&txq->bd[0];
struct iwl3945_tfd_frame *bd = &bd_tmp[txq->q.read_ptr]; struct iwl3945_tfd_frame *bd = &bd_tmp[txq->q.read_ptr];
@@ -793,7 +793,7 @@ int iwl3945_hw_txq_free_tfd(struct iwl3945_priv *priv, struct iwl3945_tx_queue *
return 0; return 0;
} }
u8 iwl3945_hw_find_station(struct iwl3945_priv *priv, const u8 *addr) u8 iwl3945_hw_find_station(struct iwl_priv *priv, const u8 *addr)
{ {
int i, start = IWL_AP_ID; int i, start = IWL_AP_ID;
int ret = IWL_INVALID_STATION; int ret = IWL_INVALID_STATION;
@@ -826,7 +826,7 @@ u8 iwl3945_hw_find_station(struct iwl3945_priv *priv, const u8 *addr)
* iwl3945_hw_build_tx_cmd_rate - Add rate portion to TX_CMD: * iwl3945_hw_build_tx_cmd_rate - Add rate portion to TX_CMD:
* *
*/ */
void iwl3945_hw_build_tx_cmd_rate(struct iwl3945_priv *priv, void iwl3945_hw_build_tx_cmd_rate(struct iwl_priv *priv,
struct iwl3945_cmd *cmd, struct iwl3945_cmd *cmd,
struct ieee80211_tx_info *info, struct ieee80211_tx_info *info,
struct ieee80211_hdr *hdr, int sta_id, int tx_id) struct ieee80211_hdr *hdr, int sta_id, int tx_id)
@@ -896,7 +896,7 @@ void iwl3945_hw_build_tx_cmd_rate(struct iwl3945_priv *priv,
cmd->cmd.tx.supp_rates[1], cmd->cmd.tx.supp_rates[0]); cmd->cmd.tx.supp_rates[1], cmd->cmd.tx.supp_rates[0]);
} }
u8 iwl3945_sync_sta(struct iwl3945_priv *priv, int sta_id, u16 tx_rate, u8 flags) u8 iwl3945_sync_sta(struct iwl_priv *priv, int sta_id, u16 tx_rate, u8 flags)
{ {
unsigned long flags_spin; unsigned long flags_spin;
struct iwl3945_station_entry *station; struct iwl3945_station_entry *station;
@@ -919,7 +919,7 @@ u8 iwl3945_sync_sta(struct iwl3945_priv *priv, int sta_id, u16 tx_rate, u8 flags
return sta_id; return sta_id;
} }
static int iwl3945_nic_set_pwr_src(struct iwl3945_priv *priv, int pwr_max) static int iwl3945_nic_set_pwr_src(struct iwl_priv *priv, int pwr_max)
{ {
int rc; int rc;
unsigned long flags; unsigned long flags;
@@ -961,7 +961,7 @@ static int iwl3945_nic_set_pwr_src(struct iwl3945_priv *priv, int pwr_max)
return rc; return rc;
} }
static int iwl3945_rx_init(struct iwl3945_priv *priv, struct iwl_rx_queue *rxq) static int iwl3945_rx_init(struct iwl_priv *priv, struct iwl_rx_queue *rxq)
{ {
int rc; int rc;
unsigned long flags; unsigned long flags;
@@ -997,7 +997,7 @@ static int iwl3945_rx_init(struct iwl3945_priv *priv, struct iwl_rx_queue *rxq)
return 0; return 0;
} }
static int iwl3945_tx_reset(struct iwl3945_priv *priv) static int iwl3945_tx_reset(struct iwl_priv *priv)
{ {
int rc; int rc;
unsigned long flags; unsigned long flags;
@@ -1046,7 +1046,7 @@ static int iwl3945_tx_reset(struct iwl3945_priv *priv)
* *
* Destroys all DMA structures and initialize them again * Destroys all DMA structures and initialize them again
*/ */
static int iwl3945_txq_ctx_reset(struct iwl3945_priv *priv) static int iwl3945_txq_ctx_reset(struct iwl_priv *priv)
{ {
int rc; int rc;
int txq_id, slots_num; int txq_id, slots_num;
@@ -1077,7 +1077,7 @@ static int iwl3945_txq_ctx_reset(struct iwl3945_priv *priv)
return rc; return rc;
} }
int iwl3945_hw_nic_init(struct iwl3945_priv *priv) int iwl3945_hw_nic_init(struct iwl_priv *priv)
{ {
u8 rev_id; u8 rev_id;
int rc; int rc;
@@ -1218,7 +1218,7 @@ int iwl3945_hw_nic_init(struct iwl3945_priv *priv)
* *
* Destroy all TX DMA queues and structures * Destroy all TX DMA queues and structures
*/ */
void iwl3945_hw_txq_ctx_free(struct iwl3945_priv *priv) void iwl3945_hw_txq_ctx_free(struct iwl_priv *priv)
{ {
int txq_id; int txq_id;
@@ -1227,7 +1227,7 @@ void iwl3945_hw_txq_ctx_free(struct iwl3945_priv *priv)
iwl3945_tx_queue_free(priv, &priv->txq39[txq_id]); iwl3945_tx_queue_free(priv, &priv->txq39[txq_id]);
} }
void iwl3945_hw_txq_ctx_stop(struct iwl3945_priv *priv) void iwl3945_hw_txq_ctx_stop(struct iwl_priv *priv)
{ {
int txq_id; int txq_id;
unsigned long flags; unsigned long flags;
@@ -1256,7 +1256,7 @@ void iwl3945_hw_txq_ctx_stop(struct iwl3945_priv *priv)
iwl3945_hw_txq_ctx_free(priv); iwl3945_hw_txq_ctx_free(priv);
} }
int iwl3945_hw_nic_stop_master(struct iwl3945_priv *priv) int iwl3945_hw_nic_stop_master(struct iwl_priv *priv)
{ {
int rc = 0; int rc = 0;
u32 reg_val; u32 reg_val;
@@ -1288,7 +1288,7 @@ int iwl3945_hw_nic_stop_master(struct iwl3945_priv *priv)
return rc; return rc;
} }
int iwl3945_hw_nic_reset(struct iwl3945_priv *priv) int iwl3945_hw_nic_reset(struct iwl_priv *priv)
{ {
int rc; int rc;
unsigned long flags; unsigned long flags;
@@ -1356,7 +1356,7 @@ static inline int iwl3945_hw_reg_temp_out_of_range(int temperature)
return ((temperature < -260) || (temperature > 25)) ? 1 : 0; return ((temperature < -260) || (temperature > 25)) ? 1 : 0;
} }
int iwl3945_hw_get_temperature(struct iwl3945_priv *priv) int iwl3945_hw_get_temperature(struct iwl_priv *priv)
{ {
return iwl3945_read32(priv, CSR_UCODE_DRV_GP2); return iwl3945_read32(priv, CSR_UCODE_DRV_GP2);
} }
@@ -1365,7 +1365,7 @@ int iwl3945_hw_get_temperature(struct iwl3945_priv *priv)
* iwl3945_hw_reg_txpower_get_temperature * iwl3945_hw_reg_txpower_get_temperature
* get the current temperature by reading from NIC * get the current temperature by reading from NIC
*/ */
static int iwl3945_hw_reg_txpower_get_temperature(struct iwl3945_priv *priv) static int iwl3945_hw_reg_txpower_get_temperature(struct iwl_priv *priv)
{ {
int temperature; int temperature;
@@ -1401,7 +1401,7 @@ static int iwl3945_hw_reg_txpower_get_temperature(struct iwl3945_priv *priv)
* records new temperature in tx_mgr->temperature. * records new temperature in tx_mgr->temperature.
* replaces tx_mgr->last_temperature *only* if calib needed * replaces tx_mgr->last_temperature *only* if calib needed
* (assumes caller will actually do the calibration!). */ * (assumes caller will actually do the calibration!). */
static int is_temp_calib_needed(struct iwl3945_priv *priv) static int is_temp_calib_needed(struct iwl_priv *priv)
{ {
int temp_diff; int temp_diff;
@@ -1616,7 +1616,7 @@ static inline u8 iwl3945_hw_reg_fix_power_index(int index)
* Set (in our channel info database) the direct scan Tx power for 1 Mbit (CCK) * Set (in our channel info database) the direct scan Tx power for 1 Mbit (CCK)
* or 6 Mbit (OFDM) rates. * or 6 Mbit (OFDM) rates.
*/ */
static void iwl3945_hw_reg_set_scan_power(struct iwl3945_priv *priv, u32 scan_tbl_index, static void iwl3945_hw_reg_set_scan_power(struct iwl_priv *priv, u32 scan_tbl_index,
s32 rate_index, const s8 *clip_pwrs, s32 rate_index, const s8 *clip_pwrs,
struct iwl_channel_info *ch_info, struct iwl_channel_info *ch_info,
int band_index) int band_index)
@@ -1672,7 +1672,7 @@ static void iwl3945_hw_reg_set_scan_power(struct iwl3945_priv *priv, u32 scan_tb
* Configures power settings for all rates for the current channel, * Configures power settings for all rates for the current channel,
* using values from channel info struct, and send to NIC * using values from channel info struct, and send to NIC
*/ */
int iwl3945_hw_reg_send_txpower(struct iwl3945_priv *priv) int iwl3945_hw_reg_send_txpower(struct iwl_priv *priv)
{ {
int rate_idx, i; int rate_idx, i;
const struct iwl_channel_info *ch_info = NULL; const struct iwl_channel_info *ch_info = NULL;
@@ -1747,7 +1747,7 @@ int iwl3945_hw_reg_send_txpower(struct iwl3945_priv *priv)
* properly fill out the scan powers, and actual h/w gain settings, * properly fill out the scan powers, and actual h/w gain settings,
* and send changes to NIC * and send changes to NIC
*/ */
static int iwl3945_hw_reg_set_new_power(struct iwl3945_priv *priv, static int iwl3945_hw_reg_set_new_power(struct iwl_priv *priv,
struct iwl_channel_info *ch_info) struct iwl_channel_info *ch_info)
{ {
struct iwl3945_channel_power_info *power_info; struct iwl3945_channel_power_info *power_info;
@@ -1838,7 +1838,7 @@ static int iwl3945_hw_reg_get_ch_txpower_limit(struct iwl_channel_info *ch_info)
* *
* If RxOn is "associated", this sends the new Txpower to NIC! * If RxOn is "associated", this sends the new Txpower to NIC!
*/ */
static int iwl3945_hw_reg_comp_txpower_temp(struct iwl3945_priv *priv) static int iwl3945_hw_reg_comp_txpower_temp(struct iwl_priv *priv)
{ {
struct iwl_channel_info *ch_info = NULL; struct iwl_channel_info *ch_info = NULL;
int delta_index; int delta_index;
@@ -1899,7 +1899,7 @@ static int iwl3945_hw_reg_comp_txpower_temp(struct iwl3945_priv *priv)
return iwl3945_hw_reg_send_txpower(priv); return iwl3945_hw_reg_send_txpower(priv);
} }
int iwl3945_hw_reg_set_txpower(struct iwl3945_priv *priv, s8 power) int iwl3945_hw_reg_set_txpower(struct iwl_priv *priv, s8 power)
{ {
struct iwl_channel_info *ch_info; struct iwl_channel_info *ch_info;
s8 max_power; s8 max_power;
@@ -1942,7 +1942,7 @@ int iwl3945_hw_reg_set_txpower(struct iwl3945_priv *priv, s8 power)
} }
/* will add 3945 channel switch cmd handling later */ /* will add 3945 channel switch cmd handling later */
int iwl3945_hw_channel_switch(struct iwl3945_priv *priv, u16 channel) int iwl3945_hw_channel_switch(struct iwl_priv *priv, u16 channel)
{ {
return 0; return 0;
} }
@@ -1957,7 +1957,7 @@ int iwl3945_hw_channel_switch(struct iwl3945_priv *priv, u16 channel)
* -- send new set of gain settings to NIC * -- send new set of gain settings to NIC
* NOTE: This should continue working, even when we're not associated, * NOTE: This should continue working, even when we're not associated,
* so we can keep our internal table of scan powers current. */ * so we can keep our internal table of scan powers current. */
void iwl3945_reg_txpower_periodic(struct iwl3945_priv *priv) void iwl3945_reg_txpower_periodic(struct iwl_priv *priv)
{ {
/* This will kick in the "brute force" /* This will kick in the "brute force"
* iwl3945_hw_reg_comp_txpower_temp() below */ * iwl3945_hw_reg_comp_txpower_temp() below */
@@ -1976,7 +1976,7 @@ void iwl3945_reg_txpower_periodic(struct iwl3945_priv *priv)
static void iwl3945_bg_reg_txpower_periodic(struct work_struct *work) static void iwl3945_bg_reg_txpower_periodic(struct work_struct *work)
{ {
struct iwl3945_priv *priv = container_of(work, struct iwl3945_priv, struct iwl_priv *priv = container_of(work, struct iwl_priv,
thermal_periodic.work); thermal_periodic.work);
if (test_bit(STATUS_EXIT_PENDING, &priv->status)) if (test_bit(STATUS_EXIT_PENDING, &priv->status))
@@ -1998,7 +1998,7 @@ static void iwl3945_bg_reg_txpower_periodic(struct work_struct *work)
* on A-band, EEPROM's "group frequency" entries represent the top * on A-band, EEPROM's "group frequency" entries represent the top
* channel in each group 1-4. Group 5 All B/G channels are in group 0. * channel in each group 1-4. Group 5 All B/G channels are in group 0.
*/ */
static u16 iwl3945_hw_reg_get_ch_grp_index(struct iwl3945_priv *priv, static u16 iwl3945_hw_reg_get_ch_grp_index(struct iwl_priv *priv,
const struct iwl_channel_info *ch_info) const struct iwl_channel_info *ch_info)
{ {
struct iwl3945_eeprom_txpower_group *ch_grp = &priv->eeprom39.groups[0]; struct iwl3945_eeprom_txpower_group *ch_grp = &priv->eeprom39.groups[0];
@@ -2032,7 +2032,7 @@ static u16 iwl3945_hw_reg_get_ch_grp_index(struct iwl3945_priv *priv,
* Interpolate to get nominal (i.e. at factory calibration temperature) index * Interpolate to get nominal (i.e. at factory calibration temperature) index
* into radio/DSP gain settings table for requested power. * into radio/DSP gain settings table for requested power.
*/ */
static int iwl3945_hw_reg_get_matched_power_index(struct iwl3945_priv *priv, static int iwl3945_hw_reg_get_matched_power_index(struct iwl_priv *priv,
s8 requested_power, s8 requested_power,
s32 setting_index, s32 *new_index) s32 setting_index, s32 *new_index)
{ {
@@ -2080,7 +2080,7 @@ static int iwl3945_hw_reg_get_matched_power_index(struct iwl3945_priv *priv,
return 0; return 0;
} }
static void iwl3945_hw_reg_init_channel_groups(struct iwl3945_priv *priv) static void iwl3945_hw_reg_init_channel_groups(struct iwl_priv *priv)
{ {
u32 i; u32 i;
s32 rate_index; s32 rate_index;
@@ -2160,7 +2160,7 @@ static void iwl3945_hw_reg_init_channel_groups(struct iwl3945_priv *priv)
* *
* This does *not* write values to NIC, just sets up our internal table. * This does *not* write values to NIC, just sets up our internal table.
*/ */
int iwl3945_txpower_set_from_eeprom(struct iwl3945_priv *priv) int iwl3945_txpower_set_from_eeprom(struct iwl_priv *priv)
{ {
struct iwl_channel_info *ch_info = NULL; struct iwl_channel_info *ch_info = NULL;
struct iwl3945_channel_power_info *pwr_info; struct iwl3945_channel_power_info *pwr_info;
@@ -2284,7 +2284,7 @@ int iwl3945_txpower_set_from_eeprom(struct iwl3945_priv *priv)
return 0; return 0;
} }
int iwl3945_hw_rxq_stop(struct iwl3945_priv *priv) int iwl3945_hw_rxq_stop(struct iwl_priv *priv)
{ {
int rc; int rc;
unsigned long flags; unsigned long flags;
@@ -2308,7 +2308,7 @@ int iwl3945_hw_rxq_stop(struct iwl3945_priv *priv)
return 0; return 0;
} }
int iwl3945_hw_tx_queue_init(struct iwl3945_priv *priv, struct iwl3945_tx_queue *txq) int iwl3945_hw_tx_queue_init(struct iwl_priv *priv, struct iwl3945_tx_queue *txq)
{ {
int rc; int rc;
unsigned long flags; unsigned long flags;
@@ -2342,7 +2342,7 @@ int iwl3945_hw_tx_queue_init(struct iwl3945_priv *priv, struct iwl3945_tx_queue
return 0; return 0;
} }
int iwl3945_hw_get_rx_read(struct iwl3945_priv *priv) int iwl3945_hw_get_rx_read(struct iwl_priv *priv)
{ {
struct iwl3945_shared *shared_data = priv->shared_virt; struct iwl3945_shared *shared_data = priv->shared_virt;
@@ -2352,7 +2352,7 @@ int iwl3945_hw_get_rx_read(struct iwl3945_priv *priv)
/** /**
* iwl3945_init_hw_rate_table - Initialize the hardware rate fallback table * iwl3945_init_hw_rate_table - Initialize the hardware rate fallback table
*/ */
int iwl3945_init_hw_rate_table(struct iwl3945_priv *priv) int iwl3945_init_hw_rate_table(struct iwl_priv *priv)
{ {
int rc, i, index, prev_index; int rc, i, index, prev_index;
struct iwl3945_rate_scaling_cmd rate_cmd = { struct iwl3945_rate_scaling_cmd rate_cmd = {
@@ -2429,7 +2429,7 @@ int iwl3945_init_hw_rate_table(struct iwl3945_priv *priv)
} }
/* Called when initializing driver */ /* Called when initializing driver */
int iwl3945_hw_set_hw_params(struct iwl3945_priv *priv) int iwl3945_hw_set_hw_params(struct iwl_priv *priv)
{ {
memset((void *)&priv->hw_params, 0, memset((void *)&priv->hw_params, 0,
sizeof(struct iwl_hw_params)); sizeof(struct iwl_hw_params));
@@ -2456,7 +2456,7 @@ int iwl3945_hw_set_hw_params(struct iwl3945_priv *priv)
return 0; return 0;
} }
unsigned int iwl3945_hw_get_beacon_cmd(struct iwl3945_priv *priv, unsigned int iwl3945_hw_get_beacon_cmd(struct iwl_priv *priv,
struct iwl3945_frame *frame, u8 rate) struct iwl3945_frame *frame, u8 rate)
{ {
struct iwl3945_tx_beacon_cmd *tx_beacon_cmd; struct iwl3945_tx_beacon_cmd *tx_beacon_cmd;
@@ -2489,19 +2489,19 @@ unsigned int iwl3945_hw_get_beacon_cmd(struct iwl3945_priv *priv,
return sizeof(struct iwl3945_tx_beacon_cmd) + frame_size; return sizeof(struct iwl3945_tx_beacon_cmd) + frame_size;
} }
void iwl3945_hw_rx_handler_setup(struct iwl3945_priv *priv) void iwl3945_hw_rx_handler_setup(struct iwl_priv *priv)
{ {
priv->rx_handlers[REPLY_TX] = iwl3945_rx_reply_tx; priv->rx_handlers[REPLY_TX] = iwl3945_rx_reply_tx;
priv->rx_handlers[REPLY_3945_RX] = iwl3945_rx_reply_rx; priv->rx_handlers[REPLY_3945_RX] = iwl3945_rx_reply_rx;
} }
void iwl3945_hw_setup_deferred_work(struct iwl3945_priv *priv) void iwl3945_hw_setup_deferred_work(struct iwl_priv *priv)
{ {
INIT_DELAYED_WORK(&priv->thermal_periodic, INIT_DELAYED_WORK(&priv->thermal_periodic,
iwl3945_bg_reg_txpower_periodic); iwl3945_bg_reg_txpower_periodic);
} }
void iwl3945_hw_cancel_deferred_work(struct iwl3945_priv *priv) void iwl3945_hw_cancel_deferred_work(struct iwl_priv *priv)
{ {
cancel_delayed_work(&priv->thermal_periodic); cancel_delayed_work(&priv->thermal_periodic);
} }

View File

@@ -148,13 +148,13 @@ struct iwl3945_frame {
#define MAX_SN ((IEEE80211_SCTL_SEQ) >> 4) #define MAX_SN ((IEEE80211_SCTL_SEQ) >> 4)
struct iwl3945_cmd; struct iwl3945_cmd;
struct iwl3945_priv; struct iwl_priv;
struct iwl3945_cmd_meta { struct iwl3945_cmd_meta {
struct iwl3945_cmd_meta *source; struct iwl3945_cmd_meta *source;
union { union {
struct sk_buff *skb; struct sk_buff *skb;
int (*callback)(struct iwl3945_priv *priv, int (*callback)(struct iwl_priv *priv,
struct iwl3945_cmd *cmd, struct sk_buff *skb); struct iwl3945_cmd *cmd, struct sk_buff *skb);
} __attribute__ ((packed)) u; } __attribute__ ((packed)) u;
@@ -270,31 +270,31 @@ struct iwl3945_ibss_seq {
* *
*****************************************************************************/ *****************************************************************************/
struct iwl3945_addsta_cmd; struct iwl3945_addsta_cmd;
extern int iwl3945_send_add_station(struct iwl3945_priv *priv, extern int iwl3945_send_add_station(struct iwl_priv *priv,
struct iwl3945_addsta_cmd *sta, u8 flags); struct iwl3945_addsta_cmd *sta, u8 flags);
extern u8 iwl3945_add_station(struct iwl3945_priv *priv, const u8 *bssid, extern u8 iwl3945_add_station(struct iwl_priv *priv, const u8 *bssid,
int is_ap, u8 flags); int is_ap, u8 flags);
extern int iwl3945_power_init_handle(struct iwl3945_priv *priv); extern int iwl3945_power_init_handle(struct iwl_priv *priv);
extern int iwl3945_eeprom_init(struct iwl3945_priv *priv); extern int iwl3945_eeprom_init(struct iwl_priv *priv);
extern int iwl3945_rx_queue_alloc(struct iwl3945_priv *priv); extern int iwl3945_rx_queue_alloc(struct iwl_priv *priv);
extern void iwl3945_rx_queue_reset(struct iwl3945_priv *priv, extern void iwl3945_rx_queue_reset(struct iwl_priv *priv,
struct iwl_rx_queue *rxq); struct iwl_rx_queue *rxq);
extern int iwl3945_calc_db_from_ratio(int sig_ratio); extern int iwl3945_calc_db_from_ratio(int sig_ratio);
extern int iwl3945_calc_sig_qual(int rssi_dbm, int noise_dbm); extern int iwl3945_calc_sig_qual(int rssi_dbm, int noise_dbm);
extern int iwl3945_tx_queue_init(struct iwl3945_priv *priv, extern int iwl3945_tx_queue_init(struct iwl_priv *priv,
struct iwl3945_tx_queue *txq, int count, u32 id); struct iwl3945_tx_queue *txq, int count, u32 id);
extern void iwl3945_rx_replenish(void *data); extern void iwl3945_rx_replenish(void *data);
extern void iwl3945_tx_queue_free(struct iwl3945_priv *priv, struct iwl3945_tx_queue *txq); extern void iwl3945_tx_queue_free(struct iwl_priv *priv, struct iwl3945_tx_queue *txq);
extern int iwl3945_send_cmd_pdu(struct iwl3945_priv *priv, u8 id, u16 len, extern int iwl3945_send_cmd_pdu(struct iwl_priv *priv, u8 id, u16 len,
const void *data); const void *data);
extern int __must_check iwl3945_send_cmd(struct iwl3945_priv *priv, extern int __must_check iwl3945_send_cmd(struct iwl_priv *priv,
struct iwl3945_host_cmd *cmd); struct iwl3945_host_cmd *cmd);
extern unsigned int iwl3945_fill_beacon_frame(struct iwl3945_priv *priv, extern unsigned int iwl3945_fill_beacon_frame(struct iwl_priv *priv,
struct ieee80211_hdr *hdr,int left); struct ieee80211_hdr *hdr,int left);
extern int iwl3945_rx_queue_update_write_ptr(struct iwl3945_priv *priv, extern int iwl3945_rx_queue_update_write_ptr(struct iwl_priv *priv,
struct iwl_rx_queue *q); struct iwl_rx_queue *q);
extern int iwl3945_send_statistics_request(struct iwl3945_priv *priv); extern int iwl3945_send_statistics_request(struct iwl_priv *priv);
extern void iwl3945_set_decrypted_flag(struct iwl3945_priv *priv, struct sk_buff *skb, extern void iwl3945_set_decrypted_flag(struct iwl_priv *priv, struct sk_buff *skb,
u32 decrypt_res, u32 decrypt_res,
struct ieee80211_rx_status *stats); struct ieee80211_rx_status *stats);
@@ -302,7 +302,7 @@ extern void iwl3945_set_decrypted_flag(struct iwl3945_priv *priv, struct sk_buff
* Currently used by iwl-3945-rs... look at restructuring so that it doesn't * Currently used by iwl-3945-rs... look at restructuring so that it doesn't
* call this... todo... fix that. * call this... todo... fix that.
*/ */
extern u8 iwl3945_sync_station(struct iwl3945_priv *priv, int sta_id, extern u8 iwl3945_sync_station(struct iwl_priv *priv, int sta_id,
u16 tx_rate, u8 flags); u16 tx_rate, u8 flags);
/****************************************************************************** /******************************************************************************
@@ -321,36 +321,36 @@ extern u8 iwl3945_sync_station(struct iwl3945_priv *priv, int sta_id,
* iwl3945_mac_ <-- mac80211 callback * iwl3945_mac_ <-- mac80211 callback
* *
****************************************************************************/ ****************************************************************************/
extern void iwl3945_hw_rx_handler_setup(struct iwl3945_priv *priv); extern void iwl3945_hw_rx_handler_setup(struct iwl_priv *priv);
extern void iwl3945_hw_setup_deferred_work(struct iwl3945_priv *priv); extern void iwl3945_hw_setup_deferred_work(struct iwl_priv *priv);
extern void iwl3945_hw_cancel_deferred_work(struct iwl3945_priv *priv); extern void iwl3945_hw_cancel_deferred_work(struct iwl_priv *priv);
extern int iwl3945_hw_rxq_stop(struct iwl3945_priv *priv); extern int iwl3945_hw_rxq_stop(struct iwl_priv *priv);
extern int iwl3945_hw_set_hw_params(struct iwl3945_priv *priv); extern int iwl3945_hw_set_hw_params(struct iwl_priv *priv);
extern int iwl3945_hw_nic_init(struct iwl3945_priv *priv); extern int iwl3945_hw_nic_init(struct iwl_priv *priv);
extern int iwl3945_hw_nic_stop_master(struct iwl3945_priv *priv); extern int iwl3945_hw_nic_stop_master(struct iwl_priv *priv);
extern void iwl3945_hw_txq_ctx_free(struct iwl3945_priv *priv); extern void iwl3945_hw_txq_ctx_free(struct iwl_priv *priv);
extern void iwl3945_hw_txq_ctx_stop(struct iwl3945_priv *priv); extern void iwl3945_hw_txq_ctx_stop(struct iwl_priv *priv);
extern int iwl3945_hw_nic_reset(struct iwl3945_priv *priv); extern int iwl3945_hw_nic_reset(struct iwl_priv *priv);
extern int iwl3945_hw_txq_attach_buf_to_tfd(struct iwl3945_priv *priv, void *tfd, extern int iwl3945_hw_txq_attach_buf_to_tfd(struct iwl_priv *priv, void *tfd,
dma_addr_t addr, u16 len); dma_addr_t addr, u16 len);
extern int iwl3945_hw_txq_free_tfd(struct iwl3945_priv *priv, struct iwl3945_tx_queue *txq); extern int iwl3945_hw_txq_free_tfd(struct iwl_priv *priv, struct iwl3945_tx_queue *txq);
extern int iwl3945_hw_get_temperature(struct iwl3945_priv *priv); extern int iwl3945_hw_get_temperature(struct iwl_priv *priv);
extern int iwl3945_hw_tx_queue_init(struct iwl3945_priv *priv, extern int iwl3945_hw_tx_queue_init(struct iwl_priv *priv,
struct iwl3945_tx_queue *txq); struct iwl3945_tx_queue *txq);
extern unsigned int iwl3945_hw_get_beacon_cmd(struct iwl3945_priv *priv, extern unsigned int iwl3945_hw_get_beacon_cmd(struct iwl_priv *priv,
struct iwl3945_frame *frame, u8 rate); struct iwl3945_frame *frame, u8 rate);
extern int iwl3945_hw_get_rx_read(struct iwl3945_priv *priv); extern int iwl3945_hw_get_rx_read(struct iwl_priv *priv);
extern void iwl3945_hw_build_tx_cmd_rate(struct iwl3945_priv *priv, extern void iwl3945_hw_build_tx_cmd_rate(struct iwl_priv *priv,
struct iwl3945_cmd *cmd, struct iwl3945_cmd *cmd,
struct ieee80211_tx_info *info, struct ieee80211_tx_info *info,
struct ieee80211_hdr *hdr, struct ieee80211_hdr *hdr,
int sta_id, int tx_id); int sta_id, int tx_id);
extern int iwl3945_hw_reg_send_txpower(struct iwl3945_priv *priv); extern int iwl3945_hw_reg_send_txpower(struct iwl_priv *priv);
extern int iwl3945_hw_reg_set_txpower(struct iwl3945_priv *priv, s8 power); extern int iwl3945_hw_reg_set_txpower(struct iwl_priv *priv, s8 power);
extern void iwl3945_hw_rx_statistics(struct iwl3945_priv *priv, extern void iwl3945_hw_rx_statistics(struct iwl_priv *priv,
struct iwl_rx_mem_buffer *rxb); struct iwl_rx_mem_buffer *rxb);
extern void iwl3945_disable_events(struct iwl3945_priv *priv); extern void iwl3945_disable_events(struct iwl_priv *priv);
extern int iwl4965_get_temperature(const struct iwl3945_priv *priv); extern int iwl4965_get_temperature(const struct iwl_priv *priv);
/** /**
* iwl3945_hw_find_station - Find station id for a given BSSID * iwl3945_hw_find_station - Find station id for a given BSSID
@@ -360,262 +360,43 @@ extern int iwl4965_get_temperature(const struct iwl3945_priv *priv);
* not yet been merged into a single common layer for managing the * not yet been merged into a single common layer for managing the
* station tables. * station tables.
*/ */
extern u8 iwl3945_hw_find_station(struct iwl3945_priv *priv, const u8 *bssid); extern u8 iwl3945_hw_find_station(struct iwl_priv *priv, const u8 *bssid);
extern int iwl3945_hw_channel_switch(struct iwl3945_priv *priv, u16 channel); extern int iwl3945_hw_channel_switch(struct iwl_priv *priv, u16 channel);
/* /*
* Forward declare iwl-3945.c functions for iwl-base.c * Forward declare iwl-3945.c functions for iwl-base.c
*/ */
extern __le32 iwl3945_get_antenna_flags(const struct iwl3945_priv *priv); extern __le32 iwl3945_get_antenna_flags(const struct iwl_priv *priv);
extern int iwl3945_init_hw_rate_table(struct iwl3945_priv *priv); extern int iwl3945_init_hw_rate_table(struct iwl_priv *priv);
extern void iwl3945_reg_txpower_periodic(struct iwl3945_priv *priv); extern void iwl3945_reg_txpower_periodic(struct iwl_priv *priv);
extern int iwl3945_txpower_set_from_eeprom(struct iwl3945_priv *priv); extern int iwl3945_txpower_set_from_eeprom(struct iwl_priv *priv);
extern u8 iwl3945_sync_sta(struct iwl3945_priv *priv, int sta_id, extern u8 iwl3945_sync_sta(struct iwl_priv *priv, int sta_id,
u16 tx_rate, u8 flags); u16 tx_rate, u8 flags);
#ifdef CONFIG_IWL3945_RFKILL #ifdef CONFIG_IWL3945_RFKILL
struct iwl3945_priv; struct iwl_priv;
void iwl3945_rfkill_set_hw_state(struct iwl3945_priv *priv); void iwl3945_rfkill_set_hw_state(struct iwl_priv *priv);
void iwl3945_rfkill_unregister(struct iwl3945_priv *priv); void iwl3945_rfkill_unregister(struct iwl_priv *priv);
int iwl3945_rfkill_init(struct iwl3945_priv *priv); int iwl3945_rfkill_init(struct iwl_priv *priv);
#else #else
static inline void iwl3945_rfkill_set_hw_state(struct iwl3945_priv *priv) {} static inline void iwl3945_rfkill_set_hw_state(struct iwl_priv *priv) {}
static inline void iwl3945_rfkill_unregister(struct iwl3945_priv *priv) {} static inline void iwl3945_rfkill_unregister(struct iwl_priv *priv) {}
static inline int iwl3945_rfkill_init(struct iwl3945_priv *priv) { return 0; } static inline int iwl3945_rfkill_init(struct iwl_priv *priv) { return 0; }
#endif #endif
static inline int iwl3945_is_associated(struct iwl_priv *priv)
struct iwl3945_priv {
/* ieee device used by generic ieee processing code */
struct ieee80211_hw *hw;
struct ieee80211_channel *ieee_channels;
struct ieee80211_rate *ieee_rates;
struct iwl_cfg *cfg; /* device configuration */
/* temporary frame storage list */
struct list_head free_frames;
int frames_count;
enum ieee80211_band band;
int alloc_rxb_skb;
void (*rx_handlers[REPLY_MAX])(struct iwl3945_priv *priv,
struct iwl_rx_mem_buffer *rxb);
struct ieee80211_supported_band bands[IEEE80211_NUM_BANDS];
#ifdef CONFIG_IWL3945_SPECTRUM_MEASUREMENT
/* spectrum measurement report caching */
struct iwl_spectrum_notification measure_report;
u8 measurement_status;
#endif
/* ucode beacon time */
u32 ucode_beacon_time;
/* we allocate array of iwl3945_channel_info for NIC's valid channels.
* Access via channel # using indirect index array */
struct iwl_channel_info *channel_info; /* channel info array */
u8 channel_count; /* # of channels */
/* each calibration channel group in the EEPROM has a derived
* clip setting for each rate. */
const struct iwl3945_clip_group clip39_groups[5];
/* thermal calibration */
s32 temperature; /* degrees Kelvin */
s32 last_temperature;
/* Scan related variables */
unsigned long last_scan_jiffies;
unsigned long next_scan_jiffies;
unsigned long scan_start;
unsigned long scan_pass_start;
unsigned long scan_start_tsf;
int scan_bands;
int one_direct_scan;
u8 direct_ssid_len;
u8 direct_ssid[IW_ESSID_MAX_SIZE];
struct iwl3945_scan_cmd *scan39;
/* spinlock */
spinlock_t lock; /* protect general shared data */
spinlock_t hcmd_lock; /* protect hcmd */
struct mutex mutex;
/* basic pci-network driver stuff */
struct pci_dev *pci_dev;
/* pci hardware address support */
void __iomem *hw_base;
/* uCode images, save to reload in case of failure */
u32 ucode_ver; /* ucode version, copy of
iwl_ucode.ver */
struct fw_desc ucode_code; /* runtime inst */
struct fw_desc ucode_data; /* runtime data original */
struct fw_desc ucode_data_backup; /* runtime data save/restore */
struct fw_desc ucode_init; /* initialization inst */
struct fw_desc ucode_init_data; /* initialization data */
struct fw_desc ucode_boot; /* bootstrap inst */
struct iwl_rxon_time_cmd rxon_timing;
/* We declare this const so it can only be
* changed via explicit cast within the
* routines that actually update the physical
* hardware */
const struct iwl3945_rxon_cmd active39_rxon;
struct iwl3945_rxon_cmd staging39_rxon;
int error_recovering;
struct iwl3945_rxon_cmd recovery39_rxon;
/* 1st responses from initialize and runtime uCode images.
* 4965's initialize alive response contains some calibration data. */
/* FIXME: 4965 uses bigger structure for init */
struct iwl_alive_resp card_alive_init;
struct iwl_alive_resp card_alive;
#ifdef CONFIG_IWL3945_RFKILL
struct rfkill *rfkill;
#endif
#ifdef CONFIG_IWL3945_LEDS
struct iwl3945_led led39[IWL_LED_TRG_MAX];
unsigned long last_blink_time;
u8 last_blink_rate;
u8 allow_blinking;
unsigned int rxtxpackets;
u64 led_tpt;
#endif
u16 active_rate;
u16 active_rate_basic;
u32 sta_supp_rates;
u8 call_post_assoc_from_beacon;
/* Rate scaling data */
s8 data_retry_limit;
u8 retry_rate;
wait_queue_head_t wait_command_queue;
int activity_timer_active;
/* Rx and Tx DMA processing queues */
struct iwl_rx_queue rxq;
struct iwl3945_tx_queue txq39[IWL39_MAX_NUM_QUEUES];
unsigned long status;
int last_rx_rssi; /* From Rx packet statisitics */
int last_rx_noise; /* From beacon statistics */
struct iwl3945_power_mgr power_data_39;
struct iwl3945_notif_statistics statistics_39;
unsigned long last_statistics_time;
/* context information */
u16 rates_mask;
u32 power_mode;
u32 antenna;
u8 bssid[ETH_ALEN];
u16 rts_threshold;
u8 mac_addr[ETH_ALEN];
/*station table variables */
spinlock_t sta_lock;
int num_stations;
struct iwl3945_station_entry stations_39[IWL_STATION_COUNT];
/* Indication if ieee80211_ops->open has been called */
u8 is_open;
u8 mac80211_registered;
/* Rx'd packet timing information */
u32 last_beacon_time;
u64 last_tsf;
/* eeprom */
struct iwl3945_eeprom eeprom39;
enum nl80211_iftype iw_mode;
struct sk_buff *ibss_beacon;
/* Last Rx'd beacon timestamp */
u64 timestamp;
u16 beacon_int;
void *shared_virt;
dma_addr_t shared_phys;
struct iwl_hw_params hw_params;
struct ieee80211_vif *vif;
/* Current association information needed to configure the
* hardware */
u16 assoc_id;
u16 assoc_capability;
u8 ps_mode;
struct iwl_qos_info qos_data;
struct workqueue_struct *workqueue;
struct work_struct up;
struct work_struct restart;
struct work_struct calibrated_work;
struct work_struct scan_completed;
struct work_struct rx_replenish;
struct work_struct rf_kill;
struct work_struct abort_scan;
struct work_struct update_link_led;
struct work_struct auth_work;
struct work_struct report_work;
struct work_struct request_scan;
struct work_struct beacon_update;
struct tasklet_struct irq_tasklet;
struct delayed_work init_alive_start;
struct delayed_work alive_start;
struct delayed_work activity_timer;
struct delayed_work thermal_periodic;
struct delayed_work gather_stats;
struct delayed_work scan_check;
#define IWL_DEFAULT_TX_POWER 0x0F
s8 user_txpower_limit;
s8 max_channel_txpower_limit;
#ifdef CONFIG_IWL3945_DEBUG
/* debugging info */
u32 debug_level;
u32 framecnt_to_us;
atomic_t restrict_refcnt;
#endif
}; /*iwl3945_priv */
static inline int iwl3945_is_associated(struct iwl3945_priv *priv)
{ {
return (priv->active39_rxon.filter_flags & RXON_FILTER_ASSOC_MSK) ? 1 : 0; return (priv->active39_rxon.filter_flags & RXON_FILTER_ASSOC_MSK) ? 1 : 0;
} }
extern const struct iwl_channel_info *iwl3945_get_channel_info( extern const struct iwl_channel_info *iwl3945_get_channel_info(
const struct iwl3945_priv *priv, enum ieee80211_band band, u16 channel); const struct iwl_priv *priv, enum ieee80211_band band, u16 channel);
extern int iwl3945_rs_next_rate(struct iwl3945_priv *priv, int rate); extern int iwl3945_rs_next_rate(struct iwl_priv *priv, int rate);
/* Requires full declaration of iwl3945_priv before including */ /* Requires full declaration of iwl_priv before including */
#include "iwl-3945-io.h" #include "iwl-3945-io.h"
#endif #endif

View File

@@ -40,6 +40,7 @@
#include "iwl-eeprom.h" #include "iwl-eeprom.h"
#include "iwl-4965-hw.h" #include "iwl-4965-hw.h"
#include "iwl-3945-hw.h" #include "iwl-3945-hw.h"
#include "iwl-3945-led.h"
#include "iwl-csr.h" #include "iwl-csr.h"
#include "iwl-prph.h" #include "iwl-prph.h"
#include "iwl-debug.h" #include "iwl-debug.h"
@@ -835,7 +836,7 @@ struct iwl_priv {
struct ieee80211_supported_band bands[IEEE80211_NUM_BANDS]; struct ieee80211_supported_band bands[IEEE80211_NUM_BANDS];
#ifdef CONFIG_IWLAGN_SPECTRUM_MEASUREMENT #if defined(CONFIG_IWLAGN_SPECTRUM_MEASUREMENT) || defined(CONFIG_IWL3945_SPECTRUM_MEASUREMENT)
/* spectrum measurement report caching */ /* spectrum measurement report caching */
struct iwl_spectrum_notification measure_report; struct iwl_spectrum_notification measure_report;
u8 measurement_status; u8 measurement_status;
@@ -916,18 +917,25 @@ struct iwl_priv {
* 4965's initialize alive response contains some calibration data. */ * 4965's initialize alive response contains some calibration data. */
struct iwl_init_alive_resp card_alive_init; struct iwl_init_alive_resp card_alive_init;
struct iwl_alive_resp card_alive; struct iwl_alive_resp card_alive;
#ifdef CONFIG_IWLWIFI_RFKILL #if defined(CONFIG_IWLWIFI_RFKILL) || defined(CONFIG_IWL3945_RFKILL)
struct rfkill *rfkill; struct rfkill *rfkill;
#endif #endif
#ifdef CONFIG_IWLWIFI_LEDS #if defined(CONFIG_IWLWIFI_LEDS) || defined(CONFIG_IWL3945_LEDS)
struct iwl_led led[IWL_LED_TRG_MAX];
unsigned long last_blink_time; unsigned long last_blink_time;
u8 last_blink_rate; u8 last_blink_rate;
u8 allow_blinking; u8 allow_blinking;
u64 led_tpt; u64 led_tpt;
#endif #endif
#ifdef CONFIG_IWLWIFI_LEDS
struct iwl_led led[IWL_LED_TRG_MAX];
#endif
#ifdef CONFIG_IWL3945_LEDS
struct iwl3945_led led39[IWL_LED_TRG_MAX];
unsigned int rxtxpackets;
#endif
u16 active_rate; u16 active_rate;
u16 active_rate_basic; u16 active_rate_basic;
@@ -1048,12 +1056,16 @@ struct iwl_priv {
struct delayed_work init_alive_start; struct delayed_work init_alive_start;
struct delayed_work alive_start; struct delayed_work alive_start;
struct delayed_work scan_check; struct delayed_work scan_check;
/*For 3945 only*/
struct delayed_work thermal_periodic;
/* TX Power */ /* TX Power */
s8 tx_power_user_lmt; s8 tx_power_user_lmt;
s8 tx_power_channel_lmt; s8 tx_power_channel_lmt;
#ifdef CONFIG_IWLWIFI_DEBUG #if defined(CONFIG_IWLWIFI_DEBUG) || defined(CONFIG_IWL3945_DEBUG)
/* debugging info */ /* debugging info */
u32 debug_level; u32 debug_level;
u32 framecnt_to_us; u32 framecnt_to_us;
@@ -1070,6 +1082,35 @@ struct iwl_priv {
u32 disable_tx_power_cal; u32 disable_tx_power_cal;
struct work_struct run_time_calib_work; struct work_struct run_time_calib_work;
struct timer_list statistics_periodic; struct timer_list statistics_periodic;
/*For 3945*/
#define IWL_DEFAULT_TX_POWER 0x0F
s8 user_txpower_limit;
s8 max_channel_txpower_limit;
struct iwl3945_scan_cmd *scan39;
/* We declare this const so it can only be
* changed via explicit cast within the
* routines that actually update the physical
* hardware */
const struct iwl3945_rxon_cmd active39_rxon;
struct iwl3945_rxon_cmd staging39_rxon;
struct iwl3945_rxon_cmd recovery39_rxon;
struct iwl3945_tx_queue txq39[IWL39_MAX_NUM_QUEUES];
struct iwl3945_power_mgr power_data_39;
struct iwl3945_notif_statistics statistics_39;
struct iwl3945_station_entry stations_39[IWL_STATION_COUNT];
/* eeprom */
struct iwl3945_eeprom eeprom39;
u32 sta_supp_rates;
u8 call_post_assoc_from_beacon;
}; /*iwl_priv */ }; /*iwl_priv */
static inline void iwl_txq_ctx_activate(struct iwl_priv *priv, int txq_id) static inline void iwl_txq_ctx_activate(struct iwl_priv *priv, int txq_id)

File diff suppressed because it is too large Load Diff