]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/wireless/p54/p54common.h
Merge branch 'core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip...
[linux-2.6-omap-h63xx.git] / drivers / net / wireless / p54 / p54common.h
index 8c8793cb2d79744ab065ab9c957feb928615ac48..f5729de83fe118eaeb36ea55c9f9cecdacd2c40b 100644 (file)
@@ -84,9 +84,6 @@ struct bootrec_desc {
 #define BR_CODE_END_OF_BRA             0xFF0000FF
 #define LEGACY_BR_CODE_END_OF_BRA      0xFFFFFFFF
 
-#define P54_HDR_FLAG_CONTROL           BIT(15)
-#define P54_HDR_FLAG_CONTROL_OPSET     (BIT(15) + BIT(0))
-
 #define P54_HDR_FLAG_DATA_ALIGN                BIT(14)
 #define P54_HDR_FLAG_DATA_OUT_PROMISC  BIT(0)
 #define P54_HDR_FLAG_DATA_OUT_TIMESTAMP BIT(1)
@@ -178,6 +175,11 @@ struct pda_pa_curve_data {
        u8 data[0];
 } __attribute__ ((packed));
 
+struct pda_rssi_cal_entry {
+       __le16 mul;
+       __le16 add;
+} __attribute__ ((packed));
+
 /*
  * this defines the PDR codes used to build PDAs as defined in document
  * number 553155. The current implementation mirrors version 1.1 of the
@@ -246,9 +248,21 @@ struct memrecord {
 };
 
 struct p54_eeprom_lm86 {
-       __le16 offset;
-       __le16 len;
-       u8 data[0];
+       union {
+               struct {
+                       __le16 offset;
+                       __le16 len;
+                       u8 data[0];
+               } v1;
+               struct {
+                       __le32 offset;
+                       __le16 len;
+                       u8 magic2;
+                       u8 pad;
+                       u8 magic[4];
+                       u8 data[0];
+               } v2;
+       }  __attribute__ ((packed));
 } __attribute__ ((packed));
 
 enum p54_rx_decrypt_status {
@@ -259,7 +273,7 @@ enum p54_rx_decrypt_status {
        P54_DECRYPT_NOCKIPMIC,
        P54_DECRYPT_FAIL_WEP,
        P54_DECRYPT_FAIL_TKIP,
-       P54_DECRYPT_FAIL_MICAHEL,
+       P54_DECRYPT_FAIL_MICHAEL,
        P54_DECRYPT_FAIL_CKIPKP,
        P54_DECRYPT_FAIL_CKIPMIC,
        P54_DECRYPT_FAIL_AESCCMP
@@ -302,7 +316,7 @@ enum p54_frame_sent_status {
        P54_TX_OK = 0,
        P54_TX_FAILED,
        P54_TX_PSM,
-       P54_TX_PSM_CANCELLED
+       P54_TX_PSM_CANCELLED = 4
 };
 
 struct p54_frame_sent {
@@ -343,6 +357,11 @@ struct p54_tx_data {
        u8 align[0];
 } __attribute__ ((packed));
 
+/* unit is ms */
+#define P54_TX_FRAME_LIFETIME 2000
+#define P54_TX_TIMEOUT 4000
+#define P54_STATISTICS_UPDATE 5000
+
 #define P54_FILTER_TYPE_NONE           0
 #define P54_FILTER_TYPE_STATION                BIT(0)
 #define P54_FILTER_TYPE_IBSS           BIT(1)
@@ -412,22 +431,18 @@ struct p54_scan {
        u8 dup_16qam;
        u8 dup_64qam;
        union {
-               struct {
-                       __le16 rssical_mul;
-                       __le16 rssical_add;
-               } v1 __attribute__ ((packed));
+               struct pda_rssi_cal_entry v1_rssi;
 
                struct {
                        __le32 basic_rate_mask;
                        u8 rts_rates[8];
-                       __le16 rssical_mul;
-                       __le16 rssical_add;
+                       struct pda_rssi_cal_entry rssi;
                } v2 __attribute__ ((packed));
        } __attribute__ ((packed));
 } __attribute__ ((packed));
 
-#define P54_SCAN_V1_LEN (sizeof(struct p54_scan)-12)
-#define P54_SCAN_V2_LEN (sizeof(struct p54_scan))
+#define P54_SCAN_V1_LEN 0x70
+#define P54_SCAN_V2_LEN 0x7c
 
 struct p54_led {
        __le16 mode;