block: fix warning with calling smp_processor_id() in preemptible section
[pandora-kernel.git] / drivers / staging / brcm80211 / include / wlioctl.h
index 5e2b11b..2876bd9 100644 (file)
@@ -259,6 +259,7 @@ typedef struct wl_u32_list {
 /* used for association with a specific BSSID and chanspec list */
 typedef struct wl_assoc_params {
        u8 bssid[ETH_ALEN];     /* 00:00:00:00:00:00: broadcast scan */
+       u16 bssid_cnt;
        s32 chanspec_num;       /* 0: all available channels,
                                 * otherwise count of chanspecs in chanspec_list
                                 */
@@ -585,15 +586,6 @@ struct maclist {
        u8 ea[1][ETH_ALEN];     /* variable length array of MAC addresses */
 };
 
-/* get pkt count struct passed through ioctl */
-typedef struct get_pktcnt {
-       uint rx_good_pkt;
-       uint rx_bad_pkt;
-       uint tx_good_pkt;
-       uint tx_bad_pkt;
-       uint rx_ocast_good_pkt; /* unicast packets destined for others */
-} get_pktcnt_t;
-
 #ifdef BRCM_FULLMAC
 /* Linux network driver ioctl encoding */
 typedef struct wl_ioctl {
@@ -1247,8 +1239,6 @@ typedef struct tx_inst_power {
 /* Message levels */
 #define WL_ERROR_VAL           0x00000001
 #define WL_TRACE_VAL           0x00000002
-#define WL_AMPDU_VAL           0x20000000
-#define WL_FFPLD_VAL           0x40000000
 
 /* maximum channels returned by the get valid channels iovar */
 #define WL_NUMCHANNELS         64
@@ -1260,348 +1250,11 @@ struct tsinfo_arg {
 
 #define        NFIFO                   6       /* # tx/rx fifopairs */
 
-#define        WL_CNT_T_VERSION        7       /* current version of wl_cnt_t struct */
-
-struct wl_cnt {
-       u16 version;            /* see definition of WL_CNT_T_VERSION */
-       u16 length;             /* length of entire structure */
-
-       /* transmit stat counters */
-       u32 txframe;            /* tx data frames */
-       u32 txbyte;             /* tx data bytes */
-       u32 txretrans;  /* tx mac retransmits */
-       u32 txerror;            /* tx data errors (derived: sum of others) */
-       u32 txctl;              /* tx management frames */
-       u32 txprshort;  /* tx short preamble frames */
-       u32 txserr;             /* tx status errors */
-       u32 txnobuf;            /* tx out of buffers errors */
-       u32 txnoassoc;  /* tx discard because we're not associated */
-       u32 txrunt;             /* tx runt frames */
-       u32 txchit;             /* tx header cache hit (fastpath) */
-       u32 txcmiss;            /* tx header cache miss (slowpath) */
-       u32 ieee_tx_status;     /* calls to ieee80211_tx_status */
-       u32 ieee_tx;            /* tx calls frm mac0211 */
-       u32 ieee_rx;            /* calls to ieee_rx */
-
-       /* transmit chip error counters */
-       u32 txuflo;             /* tx fifo underflows */
-       u32 txphyerr;   /* tx phy errors (indicated in tx status) */
-       u32 txphycrs;
-
-       /* receive stat counters */
-       u32 rxframe;            /* rx data frames */
-       u32 rxbyte;             /* rx data bytes */
-       u32 rxerror;            /* rx data errors (derived: sum of others) */
-       u32 rxctl;              /* rx management frames */
-       u32 rxnobuf;            /* rx out of buffers errors */
-       u32 rxnondata;  /* rx non data frames in the data channel errors */
-       u32 rxbadds;            /* rx bad DS errors */
-       u32 rxbadcm;            /* rx bad control or management frames */
-       u32 rxfragerr;  /* rx fragmentation errors */
-       u32 rxrunt;             /* rx runt frames */
-       u32 rxgiant;            /* rx giant frames */
-       u32 rxnoscb;            /* rx no scb error */
-       u32 rxbadproto; /* rx invalid frames */
-       u32 rxbadsrcmac;        /* rx frames with Invalid Src Mac */
-       u32 rxbadda;            /* rx frames tossed for invalid da */
-       u32 rxfilter;   /* rx frames filtered out */
-
-       /* receive chip error counters */
-       u32 rxoflo;             /* rx fifo overflow errors */
-       u32 rxuflo[NFIFO];      /* rx dma descriptor underflow errors */
-
-       u32 d11cnt_txrts_off;   /* d11cnt txrts value when reset d11cnt */
-       u32 d11cnt_rxcrc_off;   /* d11cnt rxcrc value when reset d11cnt */
-       u32 d11cnt_txnocts_off; /* d11cnt txnocts value when reset d11cnt */
-
-       /* misc counters */
-       u32 dmade;              /* tx/rx dma descriptor errors */
-       u32 dmada;              /* tx/rx dma data errors */
-       u32 dmape;              /* tx/rx dma descriptor protocol errors */
-       u32 reset;              /* reset count */
-       u32 tbtt;               /* cnts the TBTT int's */
-       u32 txdmawar;
-       u32 pkt_callback_reg_fail;      /* callbacks register failure */
-
-       /* MAC counters: 32-bit version of d11.h's macstat_t */
-       u32 txallfrm;   /* total number of frames sent, incl. Data, ACK, RTS, CTS,
-                                * Control Management (includes retransmissions)
-                                */
-       u32 txrtsfrm;   /* number of RTS sent out by the MAC */
-       u32 txctsfrm;   /* number of CTS sent out by the MAC */
-       u32 txackfrm;   /* number of ACK frames sent out */
-       u32 txdnlfrm;   /* Not used */
-       u32 txbcnfrm;   /* beacons transmitted */
-       u32 txfunfl[8]; /* per-fifo tx underflows */
-       u32 txtplunfl;  /* Template underflows (mac was too slow to transmit ACK/CTS
-                                * or BCN)
-                                */
-       u32 txphyerror; /* Transmit phy error, type of error is reported in tx-status for
-                                * driver enqueued frames
-                                */
-       u32 rxfrmtoolong;       /* Received frame longer than legal limit (2346 bytes) */
-       u32 rxfrmtooshrt;       /* Received frame did not contain enough bytes for its frame type */
-       u32 rxinvmachdr;        /* Either the protocol version != 0 or frame type not
-                                * data/control/management
-                                */
-       u32 rxbadfcs;   /* number of frames for which the CRC check failed in the MAC */
-       u32 rxbadplcp;  /* parity check of the PLCP header failed */
-       u32 rxcrsglitch;        /* PHY was able to correlate the preamble but not the header */
-       u32 rxstrt;             /* Number of received frames with a good PLCP
-                                * (i.e. passing parity check)
-                                */
-       u32 rxdfrmucastmbss;    /* Number of received DATA frames with good FCS and matching RA */
-       u32 rxmfrmucastmbss;    /* number of received mgmt frames with good FCS and matching RA */
-       u32 rxcfrmucast;        /* number of received CNTRL frames with good FCS and matching RA */
-       u32 rxrtsucast; /* number of unicast RTS addressed to the MAC (good FCS) */
-       u32 rxctsucast; /* number of unicast CTS addressed to the MAC (good FCS) */
-       u32 rxackucast; /* number of ucast ACKS received (good FCS) */
-       u32 rxdfrmocast;        /* number of received DATA frames (good FCS and not matching RA) */
-       u32 rxmfrmocast;        /* number of received MGMT frames (good FCS and not matching RA) */
-       u32 rxcfrmocast;        /* number of received CNTRL frame (good FCS and not matching RA) */
-       u32 rxrtsocast; /* number of received RTS not addressed to the MAC */
-       u32 rxctsocast; /* number of received CTS not addressed to the MAC */
-       u32 rxdfrmmcast;        /* number of RX Data multicast frames received by the MAC */
-       u32 rxmfrmmcast;        /* number of RX Management multicast frames received by the MAC */
-       u32 rxcfrmmcast;        /* number of RX Control multicast frames received by the MAC
-                                * (unlikely to see these)
-                                */
-       u32 rxbeaconmbss;       /* beacons received from member of BSS */
-       u32 rxdfrmucastobss;    /* number of unicast frames addressed to the MAC from
-                                * other BSS (WDS FRAME)
-                                */
-       u32 rxbeaconobss;       /* beacons received from other BSS */
-       u32 rxrsptmout; /* Number of response timeouts for transmitted frames
-                                * expecting a response
-                                */
-       u32 bcntxcancl; /* transmit beacons canceled due to receipt of beacon (IBSS) */
-       u32 rxf0ovfl;   /* Number of receive fifo 0 overflows */
-       u32 rxf1ovfl;   /* Number of receive fifo 1 overflows (obsolete) */
-       u32 rxf2ovfl;   /* Number of receive fifo 2 overflows (obsolete) */
-       u32 txsfovfl;   /* Number of transmit status fifo overflows (obsolete) */
-       u32 pmqovfl;            /* Number of PMQ overflows */
-       u32 rxcgprqfrm; /* Number of received Probe requests that made it into
-                                * the PRQ fifo
-                                */
-       u32 rxcgprsqovfl;       /* Rx Probe Request Que overflow in the AP */
-       u32 txcgprsfail;        /* Tx Probe Response Fail. AP sent probe response but did
-                                * not get ACK
-                                */
-       u32 txcgprssuc; /* Tx Probe Response Success (ACK was received) */
-       u32 prs_timeout;        /* Number of probe requests that were dropped from the PRQ
-                                * fifo because a probe response could not be sent out within
-                                * the time limit defined in M_PRS_MAXTIME
-                                */
-       u32 rxnack;
-       u32 frmscons;
-       u32 txnack;
-       u32 txglitch_nack;      /* obsolete */
-       u32 txburst;            /* obsolete */
-
-       /* 802.11 MIB counters, pp. 614 of 802.11 reaff doc. */
-       u32 txfrag;             /* dot11TransmittedFragmentCount */
-       u32 txmulti;            /* dot11MulticastTransmittedFrameCount */
-       u32 txfail;             /* dot11FailedCount */
-       u32 txretry;            /* dot11RetryCount */
-       u32 txretrie;   /* dot11MultipleRetryCount */
-       u32 rxdup;              /* dot11FrameduplicateCount */
-       u32 txrts;              /* dot11RTSSuccessCount */
-       u32 txnocts;            /* dot11RTSFailureCount */
-       u32 txnoack;            /* dot11ACKFailureCount */
-       u32 rxfrag;             /* dot11ReceivedFragmentCount */
-       u32 rxmulti;            /* dot11MulticastReceivedFrameCount */
-       u32 rxcrc;              /* dot11FCSErrorCount */
-       u32 txfrmsnt;   /* dot11TransmittedFrameCount (bogus MIB?) */
-       u32 rxundec;            /* dot11WEPUndecryptableCount */
-
-       /* WPA2 counters (see rxundec for DecryptFailureCount) */
-       u32 tkipmicfaill;       /* TKIPLocalMICFailures */
-       u32 tkipcntrmsr;        /* TKIPCounterMeasuresInvoked */
-       u32 tkipreplay; /* TKIPReplays */
-       u32 ccmpfmterr; /* CCMPFormatErrors */
-       u32 ccmpreplay; /* CCMPReplays */
-       u32 ccmpundec;  /* CCMPDecryptErrors */
-       u32 fourwayfail;        /* FourWayHandshakeFailures */
-       u32 wepundec;   /* dot11WEPUndecryptableCount */
-       u32 wepicverr;  /* dot11WEPICVErrorCount */
-       u32 decsuccess; /* DecryptSuccessCount */
-       u32 tkipicverr; /* TKIPICVErrorCount */
-       u32 wepexcluded;        /* dot11WEPExcludedCount */
-
-       u32 rxundec_mcst;       /* dot11WEPUndecryptableCount */
-
-       /* WPA2 counters (see rxundec for DecryptFailureCount) */
-       u32 tkipmicfaill_mcst;  /* TKIPLocalMICFailures */
-       u32 tkipcntrmsr_mcst;   /* TKIPCounterMeasuresInvoked */
-       u32 tkipreplay_mcst;    /* TKIPReplays */
-       u32 ccmpfmterr_mcst;    /* CCMPFormatErrors */
-       u32 ccmpreplay_mcst;    /* CCMPReplays */
-       u32 ccmpundec_mcst;     /* CCMPDecryptErrors */
-       u32 fourwayfail_mcst;   /* FourWayHandshakeFailures */
-       u32 wepundec_mcst;      /* dot11WEPUndecryptableCount */
-       u32 wepicverr_mcst;     /* dot11WEPICVErrorCount */
-       u32 decsuccess_mcst;    /* DecryptSuccessCount */
-       u32 tkipicverr_mcst;    /* TKIPICVErrorCount */
-       u32 wepexcluded_mcst;   /* dot11WEPExcludedCount */
-
-       u32 txchanrej;  /* Tx frames suppressed due to channel rejection */
-       u32 txexptime;  /* Tx frames suppressed due to timer expiration */
-       u32 psmwds;             /* Count PSM watchdogs */
-       u32 phywatchdog;        /* Count Phy watchdogs (triggered by ucode) */
-
-       /* MBSS counters, AP only */
-       u32 prq_entries_handled;        /* PRQ entries read in */
-       u32 prq_undirected_entries;     /*    which were bcast bss & ssid */
-       u32 prq_bad_entries;    /*    which could not be translated to info */
-       u32 atim_suppress_count;        /* TX suppressions on ATIM fifo */
-       u32 bcn_template_not_ready;     /* Template marked in use on send bcn ... */
-       u32 bcn_template_not_ready_done;        /* ...but "DMA done" interrupt rcvd */
-       u32 late_tbtt_dpc;      /* TBTT DPC did not happen in time */
-
-       /* per-rate receive stat counters */
-       u32 rx1mbps;            /* packets rx at 1Mbps */
-       u32 rx2mbps;            /* packets rx at 2Mbps */
-       u32 rx5mbps5;   /* packets rx at 5.5Mbps */
-       u32 rx6mbps;            /* packets rx at 6Mbps */
-       u32 rx9mbps;            /* packets rx at 9Mbps */
-       u32 rx11mbps;   /* packets rx at 11Mbps */
-       u32 rx12mbps;   /* packets rx at 12Mbps */
-       u32 rx18mbps;   /* packets rx at 18Mbps */
-       u32 rx24mbps;   /* packets rx at 24Mbps */
-       u32 rx36mbps;   /* packets rx at 36Mbps */
-       u32 rx48mbps;   /* packets rx at 48Mbps */
-       u32 rx54mbps;   /* packets rx at 54Mbps */
-       u32 rx108mbps;  /* packets rx at 108mbps */
-       u32 rx162mbps;  /* packets rx at 162mbps */
-       u32 rx216mbps;  /* packets rx at 216 mbps */
-       u32 rx270mbps;  /* packets rx at 270 mbps */
-       u32 rx324mbps;  /* packets rx at 324 mbps */
-       u32 rx378mbps;  /* packets rx at 378 mbps */
-       u32 rx432mbps;  /* packets rx at 432 mbps */
-       u32 rx486mbps;  /* packets rx at 486 mbps */
-       u32 rx540mbps;  /* packets rx at 540 mbps */
-
-       /* pkteng rx frame stats */
-       u32 pktengrxducast;     /* unicast frames rxed by the pkteng code */
-       u32 pktengrxdmcast;     /* multicast frames rxed by the pkteng code */
-
-       u32 rfdisable;  /* count of radio disables */
-       u32 bphy_rxcrsglitch;   /* PHY count of bphy glitches */
-
-       u32 txmpdu_sgi; /* count for sgi transmit */
-       u32 rxmpdu_sgi; /* count for sgi received */
-       u32 txmpdu_stbc;        /* count for stbc transmit */
-       u32 rxmpdu_stbc;        /* count for stbc received */
-};
-
-#define        WL_DELTA_STATS_T_VERSION        1       /* current version of wl_delta_stats_t struct */
-
-typedef struct {
-       u16 version;            /* see definition of WL_DELTA_STATS_T_VERSION */
-       u16 length;             /* length of entire structure */
-
-       /* transmit stat counters */
-       u32 txframe;            /* tx data frames */
-       u32 txbyte;             /* tx data bytes */
-       u32 txretrans;  /* tx mac retransmits */
-       u32 txfail;             /* tx failures */
-
-       /* receive stat counters */
-       u32 rxframe;            /* rx data frames */
-       u32 rxbyte;             /* rx data bytes */
-
-       /* per-rate receive stat counters */
-       u32 rx1mbps;            /* packets rx at 1Mbps */
-       u32 rx2mbps;            /* packets rx at 2Mbps */
-       u32 rx5mbps5;   /* packets rx at 5.5Mbps */
-       u32 rx6mbps;            /* packets rx at 6Mbps */
-       u32 rx9mbps;            /* packets rx at 9Mbps */
-       u32 rx11mbps;   /* packets rx at 11Mbps */
-       u32 rx12mbps;   /* packets rx at 12Mbps */
-       u32 rx18mbps;   /* packets rx at 18Mbps */
-       u32 rx24mbps;   /* packets rx at 24Mbps */
-       u32 rx36mbps;   /* packets rx at 36Mbps */
-       u32 rx48mbps;   /* packets rx at 48Mbps */
-       u32 rx54mbps;   /* packets rx at 54Mbps */
-       u32 rx108mbps;  /* packets rx at 108mbps */
-       u32 rx162mbps;  /* packets rx at 162mbps */
-       u32 rx216mbps;  /* packets rx at 216 mbps */
-       u32 rx270mbps;  /* packets rx at 270 mbps */
-       u32 rx324mbps;  /* packets rx at 324 mbps */
-       u32 rx378mbps;  /* packets rx at 378 mbps */
-       u32 rx432mbps;  /* packets rx at 432 mbps */
-       u32 rx486mbps;  /* packets rx at 486 mbps */
-       u32 rx540mbps;  /* packets rx at 540 mbps */
-} wl_delta_stats_t;
-
-#define WL_WME_CNT_VERSION     1       /* current version of wl_wme_cnt_t */
-
-typedef struct {
-       u32 packets;
-       u32 bytes;
-} wl_traffic_stats_t;
-
-typedef struct {
-       u16 version;            /* see definition of WL_WME_CNT_VERSION */
-       u16 length;             /* length of entire structure */
-
-       wl_traffic_stats_t tx[AC_COUNT];        /* Packets transmitted */
-       wl_traffic_stats_t tx_failed[AC_COUNT]; /* Packets dropped or failed to transmit */
-       wl_traffic_stats_t rx[AC_COUNT];        /* Packets received */
-       wl_traffic_stats_t rx_failed[AC_COUNT]; /* Packets failed to receive */
-
-       wl_traffic_stats_t forward[AC_COUNT];   /* Packets forwarded by AP */
-
-       wl_traffic_stats_t tx_expired[AC_COUNT];        /* packets dropped due to lifetime expiry */
-
-} wl_wme_cnt_t;
-
 struct wl_msglevel2 {
        u32 low;
        u32 high;
 };
 
-#ifdef WLBA
-
-#define        WLC_BA_CNT_VERSION      1       /* current version of wlc_ba_cnt_t */
-
-/* block ack related stats */
-typedef struct wlc_ba_cnt {
-       u16 version;            /* WLC_BA_CNT_VERSION */
-       u16 length;             /* length of entire structure */
-
-       /* transmit stat counters */
-       u32 txpdu;              /* pdus sent */
-       u32 txsdu;              /* sdus sent */
-       u32 txfc;               /* tx side flow controlled packets */
-       u32 txfci;              /* tx side flow control initiated */
-       u32 txretrans;  /* retransmitted pdus */
-       u32 txbatimer;  /* ba resend due to timer */
-       u32 txdrop;             /* dropped packets */
-       u32 txaddbareq; /* addba req sent */
-       u32 txaddbaresp;        /* addba resp sent */
-       u32 txdelba;            /* delba sent */
-       u32 txba;               /* ba sent */
-       u32 txbar;              /* bar sent */
-       u32 txpad[4];   /* future */
-
-       /* receive side counters */
-       u32 rxpdu;              /* pdus recd */
-       u32 rxqed;              /* pdus buffered before sending up */
-       u32 rxdup;              /* duplicate pdus */
-       u32 rxnobuf;            /* pdus discarded due to no buf */
-       u32 rxaddbareq; /* addba req recd */
-       u32 rxaddbaresp;        /* addba resp recd */
-       u32 rxdelba;            /* delba recd */
-       u32 rxba;               /* ba recd */
-       u32 rxbar;              /* bar recd */
-       u32 rxinvba;            /* invalid ba recd */
-       u32 rxbaholes;  /* ba recd with holes */
-       u32 rxunexp;            /* unexpected packets */
-       u32 rxpad[4];   /* future */
-} wlc_ba_cnt_t;
-#endif                         /* WLBA */
-
 /* structure for per-tid ampdu control */
 struct ampdu_tid_control {
        u8 tid;         /* tid */