#if 0 VOID RtmpPCIDataLastTxIdx( IN PRTMP_ADAPTER pAd, IN UCHAR QueIdx, IN USHORT LastTxIdx) { TXD_STRUC *pTxD; #ifdef RT_BIG_ENDIAN TXD_STRUC *pDestTxD; TXD_STRUC TxD; #endif RTMP_TX_RING *pTxRing; /* get Tx Ring Resource*/ pTxRing = &pAd->TxRing[QueIdx]; /* build Tx Descriptor*/ #ifndef RT_BIG_ENDIAN pTxD = (TXD_STRUC *) pTxRing->Cell[LastTxIdx].AllocVa; #else pDestTxD = (TXD_STRUC *) pTxRing->Cell[LastTxIdx].AllocVa; TxD = *pDestTxD; pTxD = &TxD; #endif pTxD->LastSec1 = 1; #ifdef RT_BIG_ENDIAN RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD); WriteBackToDescriptor((PUCHAR)pDestTxD, (PUCHAR)pTxD, FALSE, TYPE_TXD); #endif /* RT_BIG_ENDIAN */ } VOID DBGPRINT_TX_RING( IN PRTMP_ADAPTER pAd, IN UCHAR QueIdx) { UINT32 Ac0Base; UINT32 Ac0HwIdx = 0, Ac0SwIdx = 0, AC0freeIdx; int i; /* PULONG pTxD;*/ PULONG ptemp; DBGPRINT_RAW(RT_DEBUG_TRACE, ("=====================================================\n " )); switch (QueIdx) { case QID_AC_BE: RTMP_IO_READ32(pAd, TX_BASE_PTR0, &Ac0Base); RTMP_IO_READ32(pAd, TX_CTX_IDX0, &Ac0SwIdx); RTMP_IO_READ32(pAd, TX_DTX_IDX0, &Ac0HwIdx); DBGPRINT_RAW(RT_DEBUG_TRACE, ("All QID_AC_BE DESCRIPTOR \n " )); for (i=0;iTxRing[QID_AC_BE].Cell[i].AllocVa; DBGPRINT_RAW(RT_DEBUG_TRACE, ("[%02d] %08lx: %08lx: %08lx: %08lx\n " , i, *ptemp,*(ptemp+1),*(ptemp+2),*(ptemp+3))); } DBGPRINT_RAW(RT_DEBUG_TRACE, (" \n " )); break; case QID_AC_BK: RTMP_IO_READ32(pAd, TX_BASE_PTR1, &Ac0Base); RTMP_IO_READ32(pAd, TX_CTX_IDX1, &Ac0SwIdx); RTMP_IO_READ32(pAd, TX_DTX_IDX1, &Ac0HwIdx); DBGPRINT_RAW(RT_DEBUG_TRACE, ("All QID_AC_BK DESCRIPTOR \n " )); for (i=0;iTxRing[QID_AC_BK].Cell[i].AllocVa; DBGPRINT_RAW(RT_DEBUG_TRACE, ("[%02d] %08lx: %08lx: %08lx: %08lx\n " , i, *ptemp,*(ptemp+1),*(ptemp+2),*(ptemp+3))); } DBGPRINT_RAW(RT_DEBUG_TRACE, (" \n " )); break; case QID_AC_VI: RTMP_IO_READ32(pAd, TX_BASE_PTR2, &Ac0Base); RTMP_IO_READ32(pAd, TX_CTX_IDX2, &Ac0SwIdx); RTMP_IO_READ32(pAd, TX_DTX_IDX2, &Ac0HwIdx); DBGPRINT_RAW(RT_DEBUG_TRACE, ("All QID_AC_VI DESCRIPTOR \n " )); for (i=0;iTxRing[QID_AC_VI].Cell[i].AllocVa; DBGPRINT_RAW(RT_DEBUG_TRACE, ("[%02d] %08lx: %08lx: %08lx: %08lx\n " , i, *ptemp,*(ptemp+1),*(ptemp+2),*(ptemp+3))); } DBGPRINT_RAW(RT_DEBUG_TRACE, (" \n " )); break; case QID_AC_VO: RTMP_IO_READ32(pAd, TX_BASE_PTR3, &Ac0Base); RTMP_IO_READ32(pAd, TX_CTX_IDX3, &Ac0SwIdx); RTMP_IO_READ32(pAd, TX_DTX_IDX3, &Ac0HwIdx); DBGPRINT_RAW(RT_DEBUG_TRACE, ("All QID_AC_VO DESCRIPTOR \n " )); for (i=0;iTxRing[QID_AC_VO].Cell[i].AllocVa; DBGPRINT_RAW(RT_DEBUG_TRACE, ("[%02d] %08lx: %08lx: %08lx: %08lx\n " , i, *ptemp,*(ptemp+1),*(ptemp+2),*(ptemp+3))); } DBGPRINT_RAW(RT_DEBUG_TRACE, (" \n " )); break; case QID_MGMT: RTMP_IO_READ32(pAd, TX_BASE_PTR5, &Ac0Base); RTMP_IO_READ32(pAd, TX_CTX_IDX5, &Ac0SwIdx); RTMP_IO_READ32(pAd, TX_DTX_IDX5, &Ac0HwIdx); DBGPRINT_RAW(RT_DEBUG_TRACE, (" All QID_MGMT DESCRIPTOR \n " )); for (i=0;iMgmtRing.Cell[i].AllocVa; DBGPRINT_RAW(RT_DEBUG_TRACE, ("[%02d] %08lx: %08lx: %08lx: %08lx\n " , i, *ptemp,*(ptemp+1),*(ptemp+2),*(ptemp+3))); } DBGPRINT_RAW(RT_DEBUG_TRACE, (" \n " )); break; default: DBGPRINT_ERR(("DBGPRINT_TX_RING(Ring %d) not supported\n", QueIdx)); break; } if (QueIdx < NUM_OF_TX_RING) { AC0freeIdx = pAd->TxRing[QueIdx].TxSwFreeIdx; DBGPRINT(RT_DEBUG_TRACE,("TxRing%d, TX_DTX_IDX=%d, TX_CTX_IDX=%d\n", QueIdx, Ac0HwIdx, Ac0SwIdx)); DBGPRINT_RAW(RT_DEBUG_TRACE,(" TxSwFreeIdx[%d]", AC0freeIdx)); DBGPRINT_RAW(RT_DEBUG_TRACE,(" pending-NDIS=%ld\n", pAd->RalinkCounters.PendingNdisPacketCount)); } else if (QueIdx == QID_MGMT) { AC0freeIdx = pAd->MgmtRing.TxSwFreeIdx; DBGPRINT(RT_DEBUG_TRACE,("TxRing%d, TX_DTX_IDX=%d, TX_CTX_IDX=%d\n", QueIdx, Ac0HwIdx, Ac0SwIdx)); DBGPRINT_RAW(RT_DEBUG_TRACE,(" TxSwFreeIdx[%d]", AC0freeIdx)); DBGPRINT_RAW(RT_DEBUG_TRACE,(" pending-NDIS=%ld\n", pAd->RalinkCounters.PendingNdisPacketCount)); } } VOID DBGPRINT_RX_RING( IN PRTMP_ADAPTER pAd) { UINT32 Ac0Base; UINT32 Ac0HwIdx = 0, Ac0SwIdx = 0, AC0freeIdx; /* PULONG pTxD;*/ int i; UINT32 *ptemp; /* PRXD_STRUC pRxD;*/ DBGPRINT_RAW(RT_DEBUG_TRACE, ("=====================================================\n " )); RTMP_IO_READ32(pAd, RX_BASE_PTR, &Ac0Base); RTMP_IO_READ32(pAd, RX_CRX_IDX, &Ac0SwIdx); RTMP_IO_READ32(pAd, RX_DRX_IDX, &Ac0HwIdx); AC0freeIdx = pAd->RxRing[0].RxSwReadIdx; DBGPRINT_RAW(RT_DEBUG_TRACE, ("All RX DSP \n " )); for (i=0;iRxRing[0].Cell[i].AllocVa; DBGPRINT_RAW(RT_DEBUG_TRACE, ("[%02d] %08x: %08x: %08x: %08x\n " , i, *ptemp,*(ptemp+1),*(ptemp+2),*(ptemp+3))); } DBGPRINT(RT_DEBUG_TRACE,("RxRing[0], RX_DRX_IDX=%d, RX_CRX_IDX=%d \n", Ac0HwIdx, Ac0SwIdx)); DBGPRINT_RAW(RT_DEBUG_TRACE,(" RxSwReadIdx [%d]=", AC0freeIdx)); DBGPRINT_RAW(RT_DEBUG_TRACE,(" pending-NDIS=%ld\n", pAd->RalinkCounters.PendingNdisPacketCount)); } #endif /* Unused */