add a method to set/clear the VMF field in the TX descriptor.
Obtained from: Qualcomm Atheros
This commit is contained in:
parent
a0bd41720a
commit
9b8f8df1c5
@ -1527,11 +1527,13 @@ struct ath_hal {
|
||||
struct ath_desc *, u_int);
|
||||
void __ahdecl(*ah_set11nAggrLast)(struct ath_hal *,
|
||||
struct ath_desc *);
|
||||
|
||||
void __ahdecl(*ah_clr11nAggr)(struct ath_hal *,
|
||||
struct ath_desc *);
|
||||
void __ahdecl(*ah_set11nBurstDuration)(struct ath_hal *,
|
||||
struct ath_desc *, u_int);
|
||||
void __ahdecl(*ah_set11nVirtMoreFrag)(struct ath_hal *,
|
||||
struct ath_desc *, u_int);
|
||||
|
||||
HAL_BOOL __ahdecl(*ah_getMibCycleCounts) (struct ath_hal *,
|
||||
HAL_SURVEY_SAMPLE *);
|
||||
|
||||
|
@ -409,8 +409,9 @@ extern void ar5416Set11nAggrFirst(struct ath_hal *ah, struct ath_desc *ds,
|
||||
u_int aggrLen, u_int numDelims);
|
||||
extern void ar5416Set11nAggrMiddle(struct ath_hal *ah, struct ath_desc *ds, u_int numDelims);
|
||||
extern void ar5416Set11nAggrLast(struct ath_hal *ah, struct ath_desc *ds);
|
||||
|
||||
extern void ar5416Clr11nAggr(struct ath_hal *ah, struct ath_desc *ds);
|
||||
extern void ar5416Set11nVirtualMoreFrag(struct ath_hal *ah,
|
||||
struct ath_desc *ds, u_int vmf);
|
||||
|
||||
extern void ar5416Set11nBurstDuration(struct ath_hal *ah, struct ath_desc *ds, u_int burstDuration);
|
||||
|
||||
|
@ -194,6 +194,7 @@ ar5416InitState(struct ath_hal_5416 *ahp5416, uint16_t devid, HAL_SOFTC sc,
|
||||
ah->ah_set11nMac2040 = ar5416Set11nMac2040;
|
||||
ah->ah_get11nRxClear = ar5416Get11nRxClear;
|
||||
ah->ah_set11nRxClear = ar5416Set11nRxClear;
|
||||
ah->ah_set11nVirtMoreFrag = ar5416Set11nVirtualMoreFrag;
|
||||
|
||||
/* Interrupt functions */
|
||||
ah->ah_isInterruptPending = ar5416IsInterruptPending;
|
||||
|
@ -825,6 +825,17 @@ ar5416Clr11nAggr(struct ath_hal *ah, struct ath_desc *ds)
|
||||
ads->ds_ctl6 &= ~AR_AggrLen;
|
||||
}
|
||||
|
||||
void
|
||||
ar5416Set11nVirtualMoreFrag(struct ath_hal *ah, struct ath_desc *ds,
|
||||
u_int vmf)
|
||||
{
|
||||
struct ar5416_desc *ads = AR5416DESC(ds);
|
||||
if (vmf)
|
||||
ads->ds_ctl0 |= AR_VirtMoreFrag;
|
||||
else
|
||||
ads->ds_ctl0 &= ~AR_VirtMoreFrag;
|
||||
}
|
||||
|
||||
/*
|
||||
* Program the burst duration, with the included BA delta if it's
|
||||
* applicable.
|
||||
|
@ -1297,6 +1297,8 @@ void ath_intr(void *);
|
||||
((*(_ah)->ah_set11nBurstDuration)((_ah), (_ds), (_dur)))
|
||||
#define ath_hal_clr11n_aggr(_ah, _ds) \
|
||||
((*(_ah)->ah_clr11nAggr)((_ah), (_ds)))
|
||||
#define ath_hal_set11n_virtmorefrag(_ah, _ds, _v) \
|
||||
((*(_ah)->ah_set11nVirtMoreFrag)((_ah), (_ds), (_v)))
|
||||
|
||||
#define ath_hal_gpioCfgOutput(_ah, _gpio, _type) \
|
||||
((*(_ah)->ah_gpioCfgOutput)((_ah), (_gpio), (_type)))
|
||||
|
Loading…
Reference in New Issue
Block a user