svn commit: r242509 - in head/sys/dev/ath/ath_hal: . ar5416
Adrian Chadd
adrian at FreeBSD.org
Sat Nov 3 04:55:44 UTC 2012
Author: adrian
Date: Sat Nov 3 04:55:43 2012
New Revision: 242509
URL: http://svn.freebsd.org/changeset/base/242509
Log:
HAL API changes!
* introduce a new HAL API method to pull out the TX status descriptor
contents.
* Add num_delims to the 11n first aggr method. This isn't used by the
driver at the moment so it won't affect anything.
Modified:
head/sys/dev/ath/ath_hal/ah.h
head/sys/dev/ath/ath_hal/ar5416/ar5416.h
head/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c
Modified: head/sys/dev/ath/ath_hal/ah.h
==============================================================================
--- head/sys/dev/ath/ath_hal/ah.h Sat Nov 3 04:53:44 2012 (r242508)
+++ head/sys/dev/ath/ath_hal/ah.h Sat Nov 3 04:55:43 2012 (r242509)
@@ -570,6 +570,15 @@ typedef enum {
HAL_GPIO_INTR_DISABLE = 2
} HAL_GPIO_INTR_TYPE;
+typedef struct halCounters {
+ u_int32_t tx_frame_count;
+ u_int32_t rx_frame_count;
+ u_int32_t rx_clear_count;
+ u_int32_t cycle_count;
+ u_int8_t is_rx_active; // true (1) or false (0)
+ u_int8_t is_tx_active; // true (1) or false (0)
+} HAL_COUNTERS;
+
typedef enum {
HAL_RFGAIN_INACTIVE = 0,
HAL_RFGAIN_READ_REQUESTED = 1,
@@ -1314,6 +1323,7 @@ struct ath_hal {
void __ahdecl(*ah_setupTxStatusRing)(struct ath_hal *,
void *ts_start, uint32_t ts_paddr_start,
uint16_t size);
+ void __ahdecl(*ah_getTxRawTxDesc)(struct ath_hal *, u_int32_t *);
/* Receive Functions */
uint32_t __ahdecl(*ah_getRxDP)(struct ath_hal*, HAL_RX_QUEUE);
@@ -1469,7 +1479,7 @@ struct ath_hal {
void *, u_int, HAL_PKT_TYPE, u_int, u_int,
u_int);
void __ahdecl(*ah_set11nAggrFirst)(struct ath_hal *,
- struct ath_desc *, u_int);
+ struct ath_desc *, u_int, u_int);
void __ahdecl(*ah_set11nAggrMiddle)(struct ath_hal *,
struct ath_desc *, u_int);
void __ahdecl(*ah_set11nAggrLast)(struct ath_hal *,
Modified: head/sys/dev/ath/ath_hal/ar5416/ar5416.h
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5416/ar5416.h Sat Nov 3 04:53:44 2012 (r242508)
+++ head/sys/dev/ath/ath_hal/ar5416/ar5416.h Sat Nov 3 04:55:43 2012 (r242509)
@@ -391,7 +391,7 @@ extern void ar5416Set11nRateScenario(str
u_int nseries, u_int flags);
extern void ar5416Set11nAggrFirst(struct ath_hal *ah, struct ath_desc *ds,
- u_int aggrLen);
+ 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);
Modified: head/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c Sat Nov 3 04:53:44 2012 (r242508)
+++ head/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c Sat Nov 3 04:55:43 2012 (r242509)
@@ -735,7 +735,8 @@ ar5416Set11nRateScenario(struct ath_hal
}
void
-ar5416Set11nAggrFirst(struct ath_hal *ah, struct ath_desc *ds, u_int aggrLen)
+ar5416Set11nAggrFirst(struct ath_hal *ah, struct ath_desc *ds, u_int aggrLen,
+ u_int numDelims)
{
struct ar5416_desc *ads = AR5416DESC(ds);
@@ -743,6 +744,7 @@ ar5416Set11nAggrFirst(struct ath_hal *ah
ads->ds_ctl6 &= ~(AR_AggrLen | AR_PadDelim);
ads->ds_ctl6 |= SM(aggrLen, AR_AggrLen);
+ ads->ds_ctl6 |= SM(numDelims, AR_PadDelim);
}
void
More information about the svn-src-all
mailing list