Path: blob/main/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_freebsd.h
48526 views
#ifndef __AR9300_FREEBSD_H__1#define __AR9300_FREEBSD_H__23extern void ar9300_attach_freebsd_ops(struct ath_hal *ah);4extern HAL_BOOL ar9300_reset_freebsd(struct ath_hal *ah, HAL_OPMODE opmode,5struct ieee80211_channel *chan, HAL_BOOL bChannelChange,6HAL_RESET_TYPE resetType, HAL_STATUS *status);7extern void ar9300_config_pcie_freebsd(struct ath_hal *, HAL_BOOL, HAL_BOOL);8extern HAL_STATUS ar9300_eeprom_get_freebsd(struct ath_hal *, int param,9void *val);10extern HAL_BOOL ar9300_stop_tx_dma_freebsd(struct ath_hal *ah, u_int q);11extern void ar9300_ani_poll_freebsd(struct ath_hal *ah,12const struct ieee80211_channel *chan);13extern void ar9300_config_defaults_freebsd(struct ath_hal *ah,14HAL_OPS_CONFIG *ah_config);15extern HAL_BOOL ar9300_stop_dma_receive_freebsd(struct ath_hal *ah);16extern HAL_BOOL ar9300_get_pending_interrupts_freebsd(struct ath_hal *ah,17HAL_INT *masked);18extern HAL_INT ar9300_set_interrupts_freebsd(struct ath_hal *ah,19HAL_INT mask);20extern HAL_BOOL ar9300_per_calibration_freebsd(struct ath_hal *ah,21struct ieee80211_channel *chan, u_int rxchainmask,22HAL_BOOL longCal, HAL_BOOL *isCalDone);23extern HAL_BOOL ar9300_reset_cal_valid_freebsd(struct ath_hal *ah,24const struct ieee80211_channel *chan);25extern void ar9300_start_pcu_receive_freebsd(struct ath_hal *ah);26extern HAL_STATUS ar9300_proc_rx_desc_freebsd(struct ath_hal *ah,27struct ath_desc *ds, uint32_t pa, struct ath_desc *ds_next,28uint64_t tsf, struct ath_rx_status *rxs);29extern void ar9300_ani_rxmonitor_freebsd(struct ath_hal *ah,30const HAL_NODE_STATS *stats, const struct ieee80211_channel *chan);31extern void ar9300_freebsd_get_desc_link(struct ath_hal *, void *ds,32uint32_t *);3334extern HAL_BOOL ar9300_freebsd_setup_tx_desc(struct ath_hal *ah,35struct ath_desc *ds, u_int pktLen, u_int hdrLen, HAL_PKT_TYPE type,36u_int txPower, u_int txRate0, u_int txTries0, u_int keyIx,37u_int antMode, u_int flags, u_int rtsctsRate, u_int rtsCtsDuration,38u_int compicvLen, u_int compivLen, u_int comp);39extern HAL_BOOL ar9300_freebsd_setup_x_tx_desc(struct ath_hal *ah,40struct ath_desc *ds, u_int txRate1, u_int txTries1,41u_int txRate2, u_int txTries2, u_int txRate3, u_int txTries3);42extern HAL_BOOL ar9300_freebsd_fill_tx_desc(struct ath_hal *ah,43struct ath_desc *ds, HAL_DMA_ADDR *bufAddrList,44uint32_t *segLenList, u_int descId, u_int qId, HAL_BOOL firstSeg,45HAL_BOOL lastSeg, const struct ath_desc *ds0);46extern HAL_BOOL ar9300_freebsd_get_tx_completion_rates(struct ath_hal *ah,47const struct ath_desc *ds0, int *rates, int *tries);48extern void ar9300_freebsd_set_11n_rate_scenario(struct ath_hal *,49struct ath_desc *, u_int, u_int, HAL_11N_RATE_SERIES series[],50u_int, u_int);5152extern HAL_BOOL ar9300_freebsd_chain_tx_desc(struct ath_hal *ah,53struct ath_desc *ds,54HAL_DMA_ADDR *bufAddrList,55uint32_t *segLenList,56u_int pktLen, u_int hdrLen, HAL_PKT_TYPE type,57u_int keyIx, HAL_CIPHER cipher, uint8_t numDelims,58HAL_BOOL firstSeg, HAL_BOOL lastSeg, HAL_BOOL lastAggr);59extern HAL_BOOL ar9300_freebsd_setup_first_tx_desc(struct ath_hal *ah,60struct ath_desc *ds, u_int aggrLen, u_int flags, u_int txPower,61u_int txRate0, u_int txTries0, u_int antMode, u_int rtsctsRate,62u_int rtsctsDuration);63extern HAL_BOOL ar9300_freebsd_setup_last_tx_desc(struct ath_hal *ah,64struct ath_desc *ds, const struct ath_desc *ds0);6566extern void ar9300_freebsd_setup_11n_desc(struct ath_hal *ah,67void *ds, u_int pktLen, HAL_PKT_TYPE type, u_int txPower,68u_int keyIx, u_int flags);6970extern HAL_STATUS ar9300_freebsd_proc_tx_desc(struct ath_hal *ah,71struct ath_desc *ds, struct ath_tx_status *ts);7273extern void ar9300_freebsd_beacon_init(struct ath_hal *ah,74uint32_t next_beacon, uint32_t beacon_period);7576extern HAL_BOOL ar9300_freebsd_get_mib_cycle_counts(struct ath_hal *ah,77HAL_SURVEY_SAMPLE *);7879extern HAL_BOOL ar9300_freebsd_get_dfs_default_thresh(struct ath_hal *ah,80HAL_PHYERR_PARAM *pe);8182#endif /* __AR9300_FREEBSD_H__ */838485