]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - sys/contrib/dev/ath/ath_hal/ar9300/ar9300_freebsd.h
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / sys / contrib / dev / ath / ath_hal / ar9300 / ar9300_freebsd.h
1 #ifndef __AR9300_FREEBSD_H__
2 #define __AR9300_FREEBSD_H__
3
4 extern  void ar9300_attach_freebsd_ops(struct ath_hal *ah);
5 extern  HAL_BOOL ar9300_reset_freebsd(struct ath_hal *ah, HAL_OPMODE opmode,
6             struct ieee80211_channel *chan, HAL_BOOL bChannelChange,
7             HAL_STATUS *status);
8 extern  void ar9300_config_pcie_freebsd(struct ath_hal *, HAL_BOOL, HAL_BOOL);
9 extern  HAL_STATUS ar9300_eeprom_get_freebsd(struct ath_hal *, int param,
10             void *val);
11 extern  HAL_BOOL ar9300_stop_tx_dma_freebsd(struct ath_hal *ah, u_int q);
12 extern  void ar9300_ani_poll_freebsd(struct ath_hal *ah,
13             const struct ieee80211_channel *chan);
14 extern  void ar9300_config_defaults_freebsd(struct ath_hal *ah);
15 extern  HAL_BOOL ar9300_stop_dma_receive_freebsd(struct ath_hal *ah);
16 extern  HAL_BOOL ar9300_get_pending_interrupts_freebsd(struct ath_hal *ah,
17             HAL_INT *masked);
18 extern  HAL_INT ar9300_set_interrupts_freebsd(struct ath_hal *ah,
19             HAL_INT mask);
20 extern  HAL_BOOL ar9300_per_calibration_freebsd(struct ath_hal *ah,
21             struct ieee80211_channel *chan, u_int rxchainmask,
22             HAL_BOOL longCal, HAL_BOOL *isCalDone);
23 extern  HAL_BOOL ar9300_reset_cal_valid_freebsd(struct ath_hal *ah,
24             const struct ieee80211_channel *chan);
25 extern  void ar9300_start_pcu_receive_freebsd(struct ath_hal *ah);
26 extern  HAL_STATUS ar9300_proc_rx_desc_freebsd(struct ath_hal *ah,
27             struct ath_desc *ds, uint32_t pa, struct ath_desc *ds_next,
28             uint64_t tsf, struct ath_rx_status *rxs);
29 extern  void ar9300_ani_rxmonitor_freebsd(struct ath_hal *ah,
30             const HAL_NODE_STATS *stats, const struct ieee80211_channel *chan);
31 extern  void ar9300_freebsd_get_desc_link(struct ath_hal *, void *ds,
32             uint32_t *);
33
34 extern  HAL_BOOL ar9300_freebsd_setup_tx_desc(struct ath_hal *ah,
35             struct ath_desc *ds, u_int pktLen, u_int hdrLen, HAL_PKT_TYPE type,
36             u_int txPower, u_int txRate0, u_int txTries0, u_int keyIx,
37             u_int antMode, u_int flags, u_int rtsctsRate, u_int rtsCtsDuration,
38             u_int compicvLen, u_int compivLen, u_int comp);
39 extern  HAL_BOOL ar9300_freebsd_setup_x_tx_desc(struct ath_hal *ah,
40             struct ath_desc *ds, u_int txRate1, u_int txTries1,
41             u_int txRate2, u_int txTries2, u_int txRate3, u_int txTries3);
42 extern  HAL_BOOL ar9300_freebsd_fill_tx_desc(struct ath_hal *ah,
43             struct ath_desc *ds, HAL_DMA_ADDR *bufAddrList,
44             uint32_t *segLenList, u_int descId, u_int qId, HAL_BOOL firstSeg,
45             HAL_BOOL lastSeg, const struct ath_desc *ds0);
46 extern  HAL_BOOL ar9300_freebsd_get_tx_completion_rates(struct ath_hal *ah,
47             const struct ath_desc *ds0, int *rates, int *tries);
48 extern  void ar9300_freebsd_set_11n_rate_scenario(struct ath_hal *,
49             struct ath_desc *, u_int, u_int, HAL_11N_RATE_SERIES series[],
50             u_int, u_int);
51
52 extern  HAL_BOOL ar9300_freebsd_chain_tx_desc(struct ath_hal *ah,
53             struct ath_desc *ds,
54             HAL_DMA_ADDR *bufAddrList,
55             uint32_t *segLenList,
56             u_int pktLen, u_int hdrLen, HAL_PKT_TYPE type,
57             u_int keyIx, HAL_CIPHER cipher, uint8_t numDelims,
58             HAL_BOOL firstSeg, HAL_BOOL lastSeg, HAL_BOOL lastAggr);
59 extern  HAL_BOOL ar9300_freebsd_setup_first_tx_desc(struct ath_hal *ah,
60             struct ath_desc *ds, u_int aggrLen, u_int flags, u_int txPower,
61             u_int txRate0, u_int txTries0, u_int antMode, u_int rtsctsRate,
62             u_int rtsctsDuration);
63 extern  HAL_BOOL ar9300_freebsd_setup_last_tx_desc(struct ath_hal *ah,
64             struct ath_desc *ds, const struct ath_desc *ds0);
65
66 extern  void ar9300_freebsd_setup_11n_desc(struct ath_hal *ah,
67             void *ds, u_int pktLen, HAL_PKT_TYPE type, u_int txPower,
68             u_int keyIx, u_int flags);
69
70 extern  HAL_STATUS ar9300_freebsd_proc_tx_desc(struct ath_hal *ah,
71             struct ath_desc *ds, struct ath_tx_status *ts);
72
73 extern  void ar9300_freebsd_beacon_init(struct ath_hal *ah,
74             uint32_t next_beacon, uint32_t beacon_period);
75
76 extern  HAL_BOOL ar9300_freebsd_get_mib_cycle_counts(struct ath_hal *ah,
77             HAL_SURVEY_SAMPLE *);
78
79 extern  HAL_BOOL ar9300_freebsd_get_dfs_default_thresh(struct ath_hal *ah,
80             HAL_PHYERR_PARAM *pe);
81
82 #endif  /* __AR9300_FREEBSD_H__ */