Date: Thu, 22 Sep 2011 22:52:24 +0000 (UTC) From: Adrian Chadd <adrian@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r225734 - in user/adrian/if_ath_tx/sys/dev/ath: . ath_hal ath_hal/ar5416 Message-ID: <201109222252.p8MMqOT5042283@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: adrian Date: Thu Sep 22 22:52:24 2011 New Revision: 225734 URL: http://svn.freebsd.org/changeset/base/225734 Log: Now that I've found the root cause missing TX interrupt issue, revert this previous commit. Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ah.h user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416.h user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ah.h ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ah.h Thu Sep 22 22:08:09 2011 (r225733) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ah.h Thu Sep 22 22:52:24 2011 (r225734) @@ -1001,7 +1001,7 @@ struct ath_hal { /* 802.11n Functions */ HAL_BOOL __ahdecl(*ah_chainTxDesc)(struct ath_hal *, - struct ath_desc *, u_int, u_int, u_int, + struct ath_desc *, u_int, u_int, HAL_PKT_TYPE, u_int, HAL_CIPHER, uint8_t, u_int, HAL_BOOL, HAL_BOOL); HAL_BOOL __ahdecl(*ah_setupFirstTxDesc)(struct ath_hal *, Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416.h ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416.h Thu Sep 22 22:08:09 2011 (r225733) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416.h Thu Sep 22 22:52:24 2011 (r225734) @@ -330,7 +330,7 @@ extern int ar5416SetupTxQueue(struct ath const HAL_TXQ_INFO *qInfo); extern HAL_BOOL ar5416ChainTxDesc(struct ath_hal *ah, struct ath_desc *ds, - u_int flags, u_int pktLen, u_int hdrLen, HAL_PKT_TYPE type, u_int keyIx, + u_int pktLen, u_int hdrLen, HAL_PKT_TYPE type, u_int keyIx, HAL_CIPHER cipher, uint8_t delims, u_int segLen, HAL_BOOL firstSeg, HAL_BOOL lastSeg); extern HAL_BOOL ar5416SetupFirstTxDesc(struct ath_hal *ah, struct ath_desc *ds, Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c Thu Sep 22 22:08:09 2011 (r225733) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c Thu Sep 22 22:52:24 2011 (r225734) @@ -338,7 +338,6 @@ ar5416FillTxDesc(struct ath_hal *ah, str */ HAL_BOOL ar5416ChainTxDesc(struct ath_hal *ah, struct ath_desc *ds, - u_int flags, u_int pktLen, u_int hdrLen, HAL_PKT_TYPE type, @@ -380,7 +379,7 @@ ar5416ChainTxDesc(struct ath_hal *ah, st /* * Note: VEOL should only be for the last descriptor in the chain. */ - ads->ds_ctl0 = 0; /* XXX TODO: optimise uncached descriptor writes */ + ads->ds_ctl0 = (pktLen & AR_FrameLen); ads->ds_ctl1 = (type << AR_FrameType_S) | (isaggr ? (AR_IsAggr | AR_MoreAggr) : 0); ads->ds_ctl2 = 0; @@ -397,24 +396,15 @@ ar5416ChainTxDesc(struct ath_hal *ah, st } if (firstSeg) { - ads->ds_ctl0 |= (pktLen & AR_FrameLen) - | (flags & HAL_TXDESC_CLRDMASK ? AR_ClrDestMask : 0) - | (flags & HAL_TXDESC_INTREQ ? AR_TxIntrReq : 0) - ; ads->ds_ctl1 |= segLen | (lastSeg ? 0 : AR_TxMore); } else if (lastSeg) { /* !firstSeg && lastSeg */ - ads->ds_ctl0 = 0 - | (flags & HAL_TXDESC_VEOL ? AR_VEOL : 0) - | (flags & HAL_TXDESC_INTREQ ? AR_TxIntrReq : 0) - ; + ads->ds_ctl0 = 0; ads->ds_ctl1 |= segLen; } else { /* !firstSeg && !lastSeg */ /* * Intermediate descriptor in a multi-descriptor frame. */ - ads->ds_ctl0 = 0 - | (flags & HAL_TXDESC_INTREQ ? AR_TxIntrReq : 0) - ; + ads->ds_ctl0 = 0; ads->ds_ctl1 |= segLen | AR_TxMore; } ds_txstatus[0] = ds_txstatus[1] = 0; Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Thu Sep 22 22:08:09 2011 (r225733) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Thu Sep 22 22:52:24 2011 (r225734) @@ -355,7 +355,6 @@ ath_tx_chaindesclist_subframe(struct ath * This includes enabling the aggregate flags if needed. */ ath_hal_chaintxdesc(ah, ds, - bf->bf_state.bfs_flags | HAL_TXDESC_INTREQ, bf->bf_state.bfs_pktlen, bf->bf_state.bfs_hdrlen, HAL_PKT_TYPE_AMPDU, /* forces aggregate bits to be set */ Modified: user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h Thu Sep 22 22:08:09 2011 (r225733) +++ user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h Thu Sep 22 22:52:24 2011 (r225734) @@ -847,9 +847,9 @@ void ath_intr(void *); _txr0, _txtr0, _antm, _rcr, _rcd) \ ((*(_ah)->ah_setupFirstTxDesc)((_ah), (_ds), (_aggrlen), (_flags), \ (_txpower), (_txr0), (_txtr0), (_antm), (_rcr), (_rcd))) -#define ath_hal_chaintxdesc(_ah, _ds, _flags, _pktlen, _hdrlen, _type, _keyix, \ +#define ath_hal_chaintxdesc(_ah, _ds, _pktlen, _hdrlen, _type, _keyix, \ _cipher, _delims, _seglen, _first, _last) \ - ((*(_ah)->ah_chainTxDesc)((_ah), (_ds), (_flags), (_pktlen), (_hdrlen), \ + ((*(_ah)->ah_chainTxDesc)((_ah), (_ds), (_pktlen), (_hdrlen), \ (_type), (_keyix), (_cipher), (_delims), (_seglen), \ (_first), (_last))) #define ath_hal_setuplasttxdesc(_ah, _ds, _ds0) \
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201109222252.p8MMqOT5042283>