Date: Sat, 3 Nov 2012 04:55:43 +0000 (UTC) From: Adrian Chadd <adrian@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r242509 - in head/sys/dev/ath/ath_hal: . ar5416 Message-ID: <201211030455.qA34thnV089151@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201211030455.qA34thnV089151>