mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-06 02:50:43 +00:00
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:
parent
f2c7e52100
commit
4a8a43222d
8 changed files with 417 additions and 595 deletions
|
@ -61,7 +61,7 @@
|
|||
|
||||
#define _iwl3945_write32(priv, ofs, val) iowrite32((val), (priv)->hw_base + (ofs))
|
||||
#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)
|
||||
{
|
||||
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))
|
||||
#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);
|
||||
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)
|
||||
#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)
|
||||
{
|
||||
int i = 0;
|
||||
|
@ -101,7 +101,7 @@ static inline int _iwl3945_poll_bit(struct iwl3945_priv *priv, u32 addr,
|
|||
}
|
||||
#ifdef CONFIG_IWL3945_DEBUG
|
||||
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)
|
||||
{
|
||||
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)
|
||||
#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);
|
||||
}
|
||||
#ifdef CONFIG_IWL3945_DEBUG
|
||||
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;
|
||||
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)
|
||||
#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);
|
||||
}
|
||||
#ifdef CONFIG_IWL3945_DEBUG
|
||||
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;
|
||||
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)
|
||||
#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;
|
||||
#ifdef CONFIG_IWL3945_DEBUG
|
||||
|
@ -176,7 +176,7 @@ static inline int _iwl3945_grab_nic_access(struct iwl3945_priv *priv)
|
|||
|
||||
#ifdef CONFIG_IWL3945_DEBUG
|
||||
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))
|
||||
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)
|
||||
#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
|
||||
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
|
||||
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)
|
||||
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)
|
||||
#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);
|
||||
}
|
||||
#ifdef CONFIG_IWL3945_DEBUG
|
||||
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);
|
||||
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
|
||||
#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)
|
||||
{
|
||||
_iwl3945_write32(priv, reg, value);
|
||||
}
|
||||
#ifdef CONFIG_IWL3945_DEBUG
|
||||
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))
|
||||
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
|
||||
#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 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)
|
||||
{
|
||||
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
|
||||
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)
|
||||
{
|
||||
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
|
||||
#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));
|
||||
rmb();
|
||||
return _iwl3945_read_direct32(priv, HBUS_TARG_PRPH_RDAT);
|
||||
}
|
||||
#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))
|
||||
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
|
||||
#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)
|
||||
{
|
||||
_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);
|
||||
}
|
||||
#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)
|
||||
{
|
||||
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) \
|
||||
_iwl3945_write_prph(priv, reg, (_iwl3945_read_prph(priv, reg) | mask))
|
||||
#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)
|
||||
{
|
||||
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
|
||||
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))
|
||||
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
|
||||
#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)
|
||||
{
|
||||
u32 val = _iwl3945_read_prph(priv, reg);
|
||||
_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);
|
||||
rmb();
|
||||
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);
|
||||
wmb();
|
||||
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)
|
||||
{
|
||||
iwl3945_write_direct32(priv, HBUS_TARG_MEM_WADDR, addr);
|
||||
|
|
|
@ -67,7 +67,7 @@ static const struct {
|
|||
#define IWL_MAX_BLINK_TBL (ARRAY_SIZE(blink_tbl) - 1) /*Exclude Solid on*/
|
||||
#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 sk_buff *skb)
|
||||
{
|
||||
|
@ -80,7 +80,7 @@ static inline int iwl3945_brightness_to_idx(enum led_brightness brightness)
|
|||
}
|
||||
|
||||
/* 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 iwl3945_host_cmd cmd = {
|
||||
|
@ -97,7 +97,7 @@ static int iwl_send_led_cmd(struct iwl3945_priv *priv,
|
|||
|
||||
|
||||
/* 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)
|
||||
{
|
||||
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 */
|
||||
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 = {
|
||||
.id = led_id,
|
||||
|
@ -127,7 +127,7 @@ static int iwl3945_led_on(struct iwl3945_priv *priv, int led_id)
|
|||
}
|
||||
|
||||
/* 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 = {
|
||||
.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
|
||||
*/
|
||||
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) ||
|
||||
!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_dev);
|
||||
struct iwl3945_priv *priv = led->priv;
|
||||
struct iwl_priv *priv = led->priv;
|
||||
|
||||
if (test_bit(STATUS_EXIT_PENDING, &priv->status))
|
||||
return;
|
||||
|
@ -199,7 +199,7 @@ static void iwl3945_led_brightness_set(struct led_classdev *led_cdev,
|
|||
/*
|
||||
* 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,
|
||||
enum led_type type, u8 set_led,
|
||||
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
|
||||
*/
|
||||
static inline u8 get_blink_rate(struct iwl3945_priv *priv)
|
||||
static inline u8 get_blink_rate(struct iwl_priv *priv)
|
||||
{
|
||||
int index;
|
||||
u64 current_tpt = priv->rxtxpackets;
|
||||
|
@ -250,7 +250,7 @@ static inline u8 get_blink_rate(struct iwl3945_priv *priv)
|
|||
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) ||
|
||||
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
|
||||
* 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;
|
||||
|
||||
|
@ -301,7 +301,7 @@ void iwl3945_led_background(struct iwl3945_priv *priv)
|
|||
|
||||
|
||||
/* Register all led handler */
|
||||
int iwl3945_led_register(struct iwl3945_priv *priv)
|
||||
int iwl3945_led_register(struct iwl_priv *priv)
|
||||
{
|
||||
char *trigger;
|
||||
int ret;
|
||||
|
@ -399,7 +399,7 @@ static void iwl3945_led_unregister_led(struct iwl3945_led *led, u8 set_led)
|
|||
}
|
||||
|
||||
/* 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_RX], 0);
|
||||
|
|
|
@ -27,34 +27,34 @@
|
|||
#ifndef IWL3945_LEDS_H
|
||||
#define IWL3945_LEDS_H
|
||||
|
||||
struct iwl3945_priv;
|
||||
struct iwl_priv;
|
||||
|
||||
#ifdef CONFIG_IWL3945_LEDS
|
||||
|
||||
#include "iwl-led.h"
|
||||
|
||||
struct iwl3945_led {
|
||||
struct iwl3945_priv *priv;
|
||||
struct iwl_priv *priv;
|
||||
struct led_classdev led_dev;
|
||||
char name[32];
|
||||
|
||||
int (*led_on) (struct iwl3945_priv *priv, int led_id);
|
||||
int (*led_off) (struct iwl3945_priv *priv, int led_id);
|
||||
int (*led_pattern) (struct iwl3945_priv *priv, int led_id,
|
||||
int (*led_on) (struct iwl_priv *priv, int led_id);
|
||||
int (*led_off) (struct iwl_priv *priv, int led_id);
|
||||
int (*led_pattern) (struct iwl_priv *priv, int led_id,
|
||||
unsigned int idx);
|
||||
|
||||
enum led_type type;
|
||||
unsigned int registered;
|
||||
};
|
||||
|
||||
extern int iwl3945_led_register(struct iwl3945_priv *priv);
|
||||
extern void iwl3945_led_unregister(struct iwl3945_priv *priv);
|
||||
extern void iwl3945_led_background(struct iwl3945_priv *priv);
|
||||
extern int iwl3945_led_register(struct iwl_priv *priv);
|
||||
extern void iwl3945_led_unregister(struct iwl_priv *priv);
|
||||
extern void iwl3945_led_background(struct iwl_priv *priv);
|
||||
|
||||
#else
|
||||
static inline int iwl3945_led_register(struct iwl3945_priv *priv) { return 0; }
|
||||
static inline void iwl3945_led_unregister(struct iwl3945_priv *priv) {}
|
||||
static inline void iwl3945_led_background(struct iwl3945_priv *priv) {}
|
||||
static inline int iwl3945_led_register(struct iwl_priv *priv) { return 0; }
|
||||
static inline void iwl3945_led_unregister(struct iwl_priv *priv) {}
|
||||
static inline void iwl3945_led_background(struct iwl_priv *priv) {}
|
||||
#endif /* CONFIG_IWL3945_LEDS */
|
||||
|
||||
#endif /* IWL3945_LEDS_H */
|
||||
|
|
|
@ -52,7 +52,7 @@ struct iwl3945_rate_scale_data {
|
|||
|
||||
struct iwl3945_rs_sta {
|
||||
spinlock_t lock;
|
||||
struct iwl3945_priv *priv;
|
||||
struct iwl_priv *priv;
|
||||
s32 *expected_tpt;
|
||||
unsigned long last_partial_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 i;
|
||||
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
|
||||
|
@ -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)
|
||||
{
|
||||
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;
|
||||
unsigned long flags;
|
||||
u32 packet_count, duration, pps;
|
||||
|
@ -290,7 +290,7 @@ static void iwl3945_collect_tx_data(struct iwl3945_rs_sta *rs_sta,
|
|||
{
|
||||
unsigned long flags;
|
||||
s32 fail_count;
|
||||
struct iwl3945_priv *priv = rs_sta->priv;
|
||||
struct iwl_priv *priv = rs_sta->priv;
|
||||
|
||||
if (!retries) {
|
||||
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 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;
|
||||
|
||||
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_sta_priv *psta = (void *) sta->drv_priv;
|
||||
struct iwl3945_priv *priv = iwl_priv;
|
||||
struct iwl_priv *priv = iwl_priv;
|
||||
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_rs_sta *rs_sta = priv_sta;
|
||||
struct iwl3945_priv *priv = rs_sta->priv;
|
||||
struct iwl_priv *priv = rs_sta->priv;
|
||||
|
||||
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
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
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;
|
||||
int scale_rate_index, first_index, last_index;
|
||||
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 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 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
|
||||
* 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;
|
||||
u16 fc;
|
||||
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);
|
||||
|
||||
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)
|
||||
{
|
||||
struct iwl3945_priv *priv = hw->priv;
|
||||
struct iwl_priv *priv = hw->priv;
|
||||
s32 rssi = 0;
|
||||
unsigned long flags;
|
||||
struct iwl3945_rs_sta *rs_sta;
|
||||
|
|
|
@ -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,
|
||||
* you'll need to provide the special bits! ...
|
||||
* ... 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 i;
|
||||
|
@ -206,7 +206,7 @@ static int iwl3945_hwrate_to_plcp_idx(u8 plcp)
|
|||
* IWL_ANTENNA_MAIN - Force MAIN 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) {
|
||||
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
|
||||
* 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);
|
||||
|
||||
|
@ -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
|
||||
* 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)
|
||||
{
|
||||
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
|
||||
*/
|
||||
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_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;
|
||||
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.
|
||||
* 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 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);
|
||||
}
|
||||
#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 ieee80211_hdr *header, int group100)
|
||||
{
|
||||
|
@ -553,7 +553,7 @@ static inline void iwl3945_dbg_report_frame(struct iwl3945_priv *priv,
|
|||
#endif
|
||||
|
||||
/* 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)
|
||||
{
|
||||
/* 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 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)
|
||||
|
||||
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 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);
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
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
|
||||
*/
|
||||
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 = &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;
|
||||
}
|
||||
|
||||
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 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:
|
||||
*
|
||||
*/
|
||||
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 ieee80211_tx_info *info,
|
||||
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]);
|
||||
}
|
||||
|
||||
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;
|
||||
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;
|
||||
}
|
||||
|
||||
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;
|
||||
unsigned long flags;
|
||||
|
@ -961,7 +961,7 @@ static int iwl3945_nic_set_pwr_src(struct iwl3945_priv *priv, int pwr_max)
|
|||
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;
|
||||
unsigned long flags;
|
||||
|
@ -997,7 +997,7 @@ static int iwl3945_rx_init(struct iwl3945_priv *priv, struct iwl_rx_queue *rxq)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int iwl3945_tx_reset(struct iwl3945_priv *priv)
|
||||
static int iwl3945_tx_reset(struct iwl_priv *priv)
|
||||
{
|
||||
int rc;
|
||||
unsigned long flags;
|
||||
|
@ -1046,7 +1046,7 @@ static int iwl3945_tx_reset(struct iwl3945_priv *priv)
|
|||
*
|
||||
* 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 txq_id, slots_num;
|
||||
|
@ -1077,7 +1077,7 @@ static int iwl3945_txq_ctx_reset(struct iwl3945_priv *priv)
|
|||
return rc;
|
||||
}
|
||||
|
||||
int iwl3945_hw_nic_init(struct iwl3945_priv *priv)
|
||||
int iwl3945_hw_nic_init(struct iwl_priv *priv)
|
||||
{
|
||||
u8 rev_id;
|
||||
int rc;
|
||||
|
@ -1218,7 +1218,7 @@ int iwl3945_hw_nic_init(struct iwl3945_priv *priv)
|
|||
*
|
||||
* 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;
|
||||
|
||||
|
@ -1227,7 +1227,7 @@ void iwl3945_hw_txq_ctx_free(struct iwl3945_priv *priv)
|
|||
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;
|
||||
unsigned long flags;
|
||||
|
@ -1256,7 +1256,7 @@ void iwl3945_hw_txq_ctx_stop(struct iwl3945_priv *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;
|
||||
u32 reg_val;
|
||||
|
@ -1288,7 +1288,7 @@ int iwl3945_hw_nic_stop_master(struct iwl3945_priv *priv)
|
|||
return rc;
|
||||
}
|
||||
|
||||
int iwl3945_hw_nic_reset(struct iwl3945_priv *priv)
|
||||
int iwl3945_hw_nic_reset(struct iwl_priv *priv)
|
||||
{
|
||||
int rc;
|
||||
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;
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
@ -1365,7 +1365,7 @@ int iwl3945_hw_get_temperature(struct iwl3945_priv *priv)
|
|||
* iwl3945_hw_reg_txpower_get_temperature
|
||||
* 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;
|
||||
|
||||
|
@ -1401,7 +1401,7 @@ static int iwl3945_hw_reg_txpower_get_temperature(struct iwl3945_priv *priv)
|
|||
* records new temperature in tx_mgr->temperature.
|
||||
* replaces tx_mgr->last_temperature *only* if calib needed
|
||||
* (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;
|
||||
|
||||
|
@ -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)
|
||||
* 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,
|
||||
struct iwl_channel_info *ch_info,
|
||||
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,
|
||||
* 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;
|
||||
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,
|
||||
* 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 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!
|
||||
*/
|
||||
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;
|
||||
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);
|
||||
}
|
||||
|
||||
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;
|
||||
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 */
|
||||
int iwl3945_hw_channel_switch(struct iwl3945_priv *priv, u16 channel)
|
||||
int iwl3945_hw_channel_switch(struct iwl_priv *priv, u16 channel)
|
||||
{
|
||||
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
|
||||
* NOTE: This should continue working, even when we're not associated,
|
||||
* 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"
|
||||
* 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)
|
||||
{
|
||||
struct iwl3945_priv *priv = container_of(work, struct iwl3945_priv,
|
||||
struct iwl_priv *priv = container_of(work, struct iwl_priv,
|
||||
thermal_periodic.work);
|
||||
|
||||
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
|
||||
* 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)
|
||||
{
|
||||
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
|
||||
* 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,
|
||||
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;
|
||||
}
|
||||
|
||||
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;
|
||||
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.
|
||||
*/
|
||||
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 iwl3945_channel_power_info *pwr_info;
|
||||
|
@ -2284,7 +2284,7 @@ int iwl3945_txpower_set_from_eeprom(struct iwl3945_priv *priv)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int iwl3945_hw_rxq_stop(struct iwl3945_priv *priv)
|
||||
int iwl3945_hw_rxq_stop(struct iwl_priv *priv)
|
||||
{
|
||||
int rc;
|
||||
unsigned long flags;
|
||||
|
@ -2308,7 +2308,7 @@ int iwl3945_hw_rxq_stop(struct iwl3945_priv *priv)
|
|||
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;
|
||||
unsigned long flags;
|
||||
|
@ -2342,7 +2342,7 @@ int iwl3945_hw_tx_queue_init(struct iwl3945_priv *priv, struct iwl3945_tx_queue
|
|||
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;
|
||||
|
||||
|
@ -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
|
||||
*/
|
||||
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;
|
||||
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 */
|
||||
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,
|
||||
sizeof(struct iwl_hw_params));
|
||||
|
@ -2456,7 +2456,7 @@ int iwl3945_hw_set_hw_params(struct iwl3945_priv *priv)
|
|||
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_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;
|
||||
}
|
||||
|
||||
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_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,
|
||||
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);
|
||||
}
|
||||
|
|
|
@ -148,13 +148,13 @@ struct iwl3945_frame {
|
|||
#define MAX_SN ((IEEE80211_SCTL_SEQ) >> 4)
|
||||
|
||||
struct iwl3945_cmd;
|
||||
struct iwl3945_priv;
|
||||
struct iwl_priv;
|
||||
|
||||
struct iwl3945_cmd_meta {
|
||||
struct iwl3945_cmd_meta *source;
|
||||
union {
|
||||
struct sk_buff *skb;
|
||||
int (*callback)(struct iwl3945_priv *priv,
|
||||
int (*callback)(struct iwl_priv *priv,
|
||||
struct iwl3945_cmd *cmd, struct sk_buff *skb);
|
||||
} __attribute__ ((packed)) u;
|
||||
|
||||
|
@ -270,31 +270,31 @@ struct iwl3945_ibss_seq {
|
|||
*
|
||||
*****************************************************************************/
|
||||
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);
|
||||
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);
|
||||
extern int iwl3945_power_init_handle(struct iwl3945_priv *priv);
|
||||
extern int iwl3945_eeprom_init(struct iwl3945_priv *priv);
|
||||
extern int iwl3945_rx_queue_alloc(struct iwl3945_priv *priv);
|
||||
extern void iwl3945_rx_queue_reset(struct iwl3945_priv *priv,
|
||||
extern int iwl3945_power_init_handle(struct iwl_priv *priv);
|
||||
extern int iwl3945_eeprom_init(struct iwl_priv *priv);
|
||||
extern int iwl3945_rx_queue_alloc(struct iwl_priv *priv);
|
||||
extern void iwl3945_rx_queue_reset(struct iwl_priv *priv,
|
||||
struct iwl_rx_queue *rxq);
|
||||
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_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);
|
||||
extern void iwl3945_rx_replenish(void *data);
|
||||
extern void iwl3945_tx_queue_free(struct iwl3945_priv *priv, struct iwl3945_tx_queue *txq);
|
||||
extern int iwl3945_send_cmd_pdu(struct iwl3945_priv *priv, u8 id, u16 len,
|
||||
extern void iwl3945_tx_queue_free(struct iwl_priv *priv, struct iwl3945_tx_queue *txq);
|
||||
extern int iwl3945_send_cmd_pdu(struct iwl_priv *priv, u8 id, u16 len,
|
||||
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);
|
||||
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);
|
||||
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);
|
||||
extern int iwl3945_send_statistics_request(struct iwl3945_priv *priv);
|
||||
extern void iwl3945_set_decrypted_flag(struct iwl3945_priv *priv, struct sk_buff *skb,
|
||||
extern int iwl3945_send_statistics_request(struct iwl_priv *priv);
|
||||
extern void iwl3945_set_decrypted_flag(struct iwl_priv *priv, struct sk_buff *skb,
|
||||
u32 decrypt_res,
|
||||
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
|
||||
* 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);
|
||||
|
||||
/******************************************************************************
|
||||
|
@ -321,36 +321,36 @@ extern u8 iwl3945_sync_station(struct iwl3945_priv *priv, int sta_id,
|
|||
* iwl3945_mac_ <-- mac80211 callback
|
||||
*
|
||||
****************************************************************************/
|
||||
extern void iwl3945_hw_rx_handler_setup(struct iwl3945_priv *priv);
|
||||
extern void iwl3945_hw_setup_deferred_work(struct iwl3945_priv *priv);
|
||||
extern void iwl3945_hw_cancel_deferred_work(struct iwl3945_priv *priv);
|
||||
extern int iwl3945_hw_rxq_stop(struct iwl3945_priv *priv);
|
||||
extern int iwl3945_hw_set_hw_params(struct iwl3945_priv *priv);
|
||||
extern int iwl3945_hw_nic_init(struct iwl3945_priv *priv);
|
||||
extern int iwl3945_hw_nic_stop_master(struct iwl3945_priv *priv);
|
||||
extern void iwl3945_hw_txq_ctx_free(struct iwl3945_priv *priv);
|
||||
extern void iwl3945_hw_txq_ctx_stop(struct iwl3945_priv *priv);
|
||||
extern int iwl3945_hw_nic_reset(struct iwl3945_priv *priv);
|
||||
extern int iwl3945_hw_txq_attach_buf_to_tfd(struct iwl3945_priv *priv, void *tfd,
|
||||
extern void iwl3945_hw_rx_handler_setup(struct iwl_priv *priv);
|
||||
extern void iwl3945_hw_setup_deferred_work(struct iwl_priv *priv);
|
||||
extern void iwl3945_hw_cancel_deferred_work(struct iwl_priv *priv);
|
||||
extern int iwl3945_hw_rxq_stop(struct iwl_priv *priv);
|
||||
extern int iwl3945_hw_set_hw_params(struct iwl_priv *priv);
|
||||
extern int iwl3945_hw_nic_init(struct iwl_priv *priv);
|
||||
extern int iwl3945_hw_nic_stop_master(struct iwl_priv *priv);
|
||||
extern void iwl3945_hw_txq_ctx_free(struct iwl_priv *priv);
|
||||
extern void iwl3945_hw_txq_ctx_stop(struct iwl_priv *priv);
|
||||
extern int iwl3945_hw_nic_reset(struct iwl_priv *priv);
|
||||
extern int iwl3945_hw_txq_attach_buf_to_tfd(struct iwl_priv *priv, void *tfd,
|
||||
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_get_temperature(struct iwl3945_priv *priv);
|
||||
extern int iwl3945_hw_tx_queue_init(struct iwl3945_priv *priv,
|
||||
extern int iwl3945_hw_txq_free_tfd(struct iwl_priv *priv, struct iwl3945_tx_queue *txq);
|
||||
extern int iwl3945_hw_get_temperature(struct iwl_priv *priv);
|
||||
extern int iwl3945_hw_tx_queue_init(struct iwl_priv *priv,
|
||||
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);
|
||||
extern int iwl3945_hw_get_rx_read(struct iwl3945_priv *priv);
|
||||
extern void iwl3945_hw_build_tx_cmd_rate(struct iwl3945_priv *priv,
|
||||
extern int iwl3945_hw_get_rx_read(struct iwl_priv *priv);
|
||||
extern void iwl3945_hw_build_tx_cmd_rate(struct iwl_priv *priv,
|
||||
struct iwl3945_cmd *cmd,
|
||||
struct ieee80211_tx_info *info,
|
||||
struct ieee80211_hdr *hdr,
|
||||
int sta_id, int tx_id);
|
||||
extern int iwl3945_hw_reg_send_txpower(struct iwl3945_priv *priv);
|
||||
extern int iwl3945_hw_reg_set_txpower(struct iwl3945_priv *priv, s8 power);
|
||||
extern void iwl3945_hw_rx_statistics(struct iwl3945_priv *priv,
|
||||
extern int iwl3945_hw_reg_send_txpower(struct iwl_priv *priv);
|
||||
extern int iwl3945_hw_reg_set_txpower(struct iwl_priv *priv, s8 power);
|
||||
extern void iwl3945_hw_rx_statistics(struct iwl_priv *priv,
|
||||
struct iwl_rx_mem_buffer *rxb);
|
||||
extern void iwl3945_disable_events(struct iwl3945_priv *priv);
|
||||
extern int iwl4965_get_temperature(const struct iwl3945_priv *priv);
|
||||
extern void iwl3945_disable_events(struct iwl_priv *priv);
|
||||
extern int iwl4965_get_temperature(const struct iwl_priv *priv);
|
||||
|
||||
/**
|
||||
* 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
|
||||
* 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
|
||||
*/
|
||||
extern __le32 iwl3945_get_antenna_flags(const struct iwl3945_priv *priv);
|
||||
extern int iwl3945_init_hw_rate_table(struct iwl3945_priv *priv);
|
||||
extern void iwl3945_reg_txpower_periodic(struct iwl3945_priv *priv);
|
||||
extern int iwl3945_txpower_set_from_eeprom(struct iwl3945_priv *priv);
|
||||
extern u8 iwl3945_sync_sta(struct iwl3945_priv *priv, int sta_id,
|
||||
extern __le32 iwl3945_get_antenna_flags(const struct iwl_priv *priv);
|
||||
extern int iwl3945_init_hw_rate_table(struct iwl_priv *priv);
|
||||
extern void iwl3945_reg_txpower_periodic(struct iwl_priv *priv);
|
||||
extern int iwl3945_txpower_set_from_eeprom(struct iwl_priv *priv);
|
||||
extern u8 iwl3945_sync_sta(struct iwl_priv *priv, int sta_id,
|
||||
u16 tx_rate, u8 flags);
|
||||
|
||||
#ifdef CONFIG_IWL3945_RFKILL
|
||||
struct iwl3945_priv;
|
||||
struct iwl_priv;
|
||||
|
||||
void iwl3945_rfkill_set_hw_state(struct iwl3945_priv *priv);
|
||||
void iwl3945_rfkill_unregister(struct iwl3945_priv *priv);
|
||||
int iwl3945_rfkill_init(struct iwl3945_priv *priv);
|
||||
void iwl3945_rfkill_set_hw_state(struct iwl_priv *priv);
|
||||
void iwl3945_rfkill_unregister(struct iwl_priv *priv);
|
||||
int iwl3945_rfkill_init(struct iwl_priv *priv);
|
||||
#else
|
||||
static inline void iwl3945_rfkill_set_hw_state(struct iwl3945_priv *priv) {}
|
||||
static inline void iwl3945_rfkill_unregister(struct iwl3945_priv *priv) {}
|
||||
static inline int iwl3945_rfkill_init(struct iwl3945_priv *priv) { return 0; }
|
||||
static inline void iwl3945_rfkill_set_hw_state(struct iwl_priv *priv) {}
|
||||
static inline void iwl3945_rfkill_unregister(struct iwl_priv *priv) {}
|
||||
static inline int iwl3945_rfkill_init(struct iwl_priv *priv) { return 0; }
|
||||
#endif
|
||||
|
||||
|
||||
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)
|
||||
static inline int iwl3945_is_associated(struct iwl_priv *priv)
|
||||
{
|
||||
return (priv->active39_rxon.filter_flags & RXON_FILTER_ASSOC_MSK) ? 1 : 0;
|
||||
}
|
||||
|
||||
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"
|
||||
|
||||
#endif
|
||||
|
|
|
@ -40,6 +40,7 @@
|
|||
#include "iwl-eeprom.h"
|
||||
#include "iwl-4965-hw.h"
|
||||
#include "iwl-3945-hw.h"
|
||||
#include "iwl-3945-led.h"
|
||||
#include "iwl-csr.h"
|
||||
#include "iwl-prph.h"
|
||||
#include "iwl-debug.h"
|
||||
|
@ -835,7 +836,7 @@ struct iwl_priv {
|
|||
|
||||
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 */
|
||||
struct iwl_spectrum_notification measure_report;
|
||||
u8 measurement_status;
|
||||
|
@ -916,18 +917,25 @@ struct iwl_priv {
|
|||
* 4965's initialize alive response contains some calibration data. */
|
||||
struct iwl_init_alive_resp card_alive_init;
|
||||
struct iwl_alive_resp card_alive;
|
||||
#ifdef CONFIG_IWLWIFI_RFKILL
|
||||
#if defined(CONFIG_IWLWIFI_RFKILL) || defined(CONFIG_IWL3945_RFKILL)
|
||||
struct rfkill *rfkill;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_IWLWIFI_LEDS
|
||||
struct iwl_led led[IWL_LED_TRG_MAX];
|
||||
#if defined(CONFIG_IWLWIFI_LEDS) || defined(CONFIG_IWL3945_LEDS)
|
||||
unsigned long last_blink_time;
|
||||
u8 last_blink_rate;
|
||||
u8 allow_blinking;
|
||||
u64 led_tpt;
|
||||
#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_basic;
|
||||
|
||||
|
@ -1048,12 +1056,16 @@ struct iwl_priv {
|
|||
struct delayed_work init_alive_start;
|
||||
struct delayed_work alive_start;
|
||||
struct delayed_work scan_check;
|
||||
|
||||
/*For 3945 only*/
|
||||
struct delayed_work thermal_periodic;
|
||||
|
||||
/* TX Power */
|
||||
s8 tx_power_user_lmt;
|
||||
s8 tx_power_channel_lmt;
|
||||
|
||||
|
||||
#ifdef CONFIG_IWLWIFI_DEBUG
|
||||
#if defined(CONFIG_IWLWIFI_DEBUG) || defined(CONFIG_IWL3945_DEBUG)
|
||||
/* debugging info */
|
||||
u32 debug_level;
|
||||
u32 framecnt_to_us;
|
||||
|
@ -1070,6 +1082,35 @@ struct iwl_priv {
|
|||
u32 disable_tx_power_cal;
|
||||
struct work_struct run_time_calib_work;
|
||||
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 */
|
||||
|
||||
static inline void iwl_txq_ctx_activate(struct iwl_priv *priv, int txq_id)
|
||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue