b43: Fix ofdmtab write regression
[deliverable/linux.git] / drivers / net / wireless / b43 / b43.h
index 6e6b59227e16acf9093414c0e649759b7e3bdfb0..813b2409f0c3010665d071f828ecd66e86957eb0 100644 (file)
@@ -10,6 +10,7 @@
 
 #include "debugfs.h"
 #include "leds.h"
+#include "rfkill.h"
 #include "lo.h"
 #include "phy.h"
 
@@ -272,6 +273,8 @@ enum {
 #define B43_PHYTYPE_A                  0x00
 #define B43_PHYTYPE_B                  0x01
 #define B43_PHYTYPE_G                  0x02
+#define B43_PHYTYPE_N                  0x04
+#define B43_PHYTYPE_LP                 0x05
 
 /* PHYRegisters */
 #define B43_PHY_ILT_A_CTRL             0x0072
@@ -390,6 +393,8 @@ enum {
 #define B43_DEFAULT_SHORT_RETRY_LIMIT  7
 #define B43_DEFAULT_LONG_RETRY_LIMIT   4
 
+#define B43_PHY_TX_BADNESS_LIMIT       1000
+
 /* Max size of a security key */
 #define B43_SEC_KEYSIZE                        16
 /* Security algorithms. */
@@ -541,6 +546,19 @@ struct b43_phy {
        u16 lofcal;
 
        u16 initval;            //FIXME rename?
+
+       /* PHY TX errors counter. */
+       atomic_t txerr_cnt;
+
+       /* The device does address auto increment for the OFDM tables.
+        * We cache the previously used address here and omit the address
+        * write on the next table access, if possible. */
+       u16 ofdmtab_addr; /* The address currently set in hardware. */
+       enum { /* The last data flow direction. */
+               B43_OFDMTAB_DIRECTION_UNKNOWN = 0,
+               B43_OFDMTAB_DIRECTION_READ,
+               B43_OFDMTAB_DIRECTION_WRITE,
+       } ofdmtab_addr_direction;
 };
 
 /* Data structures for DMA transmission, per 80211 core. */
@@ -625,9 +643,14 @@ struct b43_wl {
        u8 rng_initialized;
        char rng_name[30 + 1];
 
+       /* The RF-kill button */
+       struct b43_rfkill rfkill;
+
        /* List of all wireless devices on this chip */
        struct list_head devlist;
        u8 nr_devs;
+
+       bool radiotap_enabled;
 };
 
 /* Pointers to the firmware data and meta information about it. */
@@ -700,6 +723,7 @@ struct b43_wldev {
        struct b43_led led_tx;
        struct b43_led led_rx;
        struct b43_led led_assoc;
+       struct b43_led led_radio;
 
        /* Reason code of the last interrupt. */
        u32 irq_reason;
This page took 0.04117 seconds and 5 git commands to generate.