rt2661_var.h revision 10115c80ec7040cb0f5be39c544c4febb00369ee
/*
* Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/*
* Copyright (c) 2006
* Damien Bergamini <damien.bergamini@free.fr>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
#ifndef _RT2661_VAR_H
#define _RT2661_VAR_H
#ifdef __cplusplus
extern "C" {
#endif
struct dma_area {
};
struct rt2661_tx_data {
struct dma_area txdata_dma;
struct ieee80211_node *ni;
};
struct rt2661_tx_ring {
struct dma_area txdesc_dma;
struct rt2661_tx_desc *desc;
struct rt2661_tx_data *data;
int count;
int queued;
int cur;
int next;
int stat;
};
struct rt2661_rx_data {
struct dma_area rxdata_dma;
};
struct rt2661_rx_ring {
struct dma_area rxdesc_dma;
struct rt2661_rx_desc *desc;
struct rt2661_rx_data *data;
int count;
int cur;
int next;
};
struct rt2661_amrr {
};
struct rt2661_amrr_node {
int amn_success;
int amn_recovery;
int amn_txcnt;
int amn_retrycnt;
};
struct rt2661_node {
struct ieee80211_node ni;
struct rt2661_amrr_node amn;
};
struct rt2661_softc {
struct ieee80211com sc_ic;
/* ddi reg handler */
/* ddi i/o handler */
struct rt2661_amrr amrr;
struct rt2661_tx_ring mgtq;
struct rt2661_rx_ring rxq;
/* interrupt */
int sc_tx_timer;
enum ieee80211_state sc_ostate;
struct ieee80211_channel *sc_curchan;
struct {
} bbp_prom[16];
int hw_radio;
int rx_ant;
int tx_ant;
int nb_ant;
int ext_2ghz_lna;
int ext_5ghz_lna;
int rssi_2ghz_corr;
int rssi_5ghz_corr;
int ncalls;
int avg_rssi;
int sifs;
/* kstats */
int (*sc_newstate)(struct ieee80211com *,
enum ieee80211_state, int);
};
#define RT2661_INPUT_RUNNING (1 << 0)
#define RT2661_RCR_PROMISC (1 << 0)
#define RT2661_SUCCESS 0
#define RT2661_FAILURE -1
#ifdef __cplusplus
}
#endif
#endif /* _RT2661_VAR_H */