Lines Matching refs:pTxXfer

92 static ETxnStatus txXfer_SendAggregatedPkts (TTxXferObj *pTxXfer, TI_BOOL bLastPktSentNow);
105 TTxXferObj *pTxXfer;
107 pTxXfer = os_memoryAlloc (hOs, sizeof(TTxXferObj));
108 if (pTxXfer == NULL)
113 os_memoryZero (hOs, pTxXfer, sizeof(TTxXferObj));
115 pTxXfer->hOs = hOs;
117 return (TI_HANDLE)pTxXfer;
123 TTxXferObj *pTxXfer = (TTxXferObj *)hTxXfer;
125 if (pTxXfer)
127 os_memoryFree (pTxXfer->hOs, pTxXfer, sizeof(TTxXferObj));
136 TTxXferObj *pTxXfer = (TTxXferObj *)hTxXfer;
140 pTxXfer->hReport = hReport;
141 pTxXfer->hTwIf = hTwIf;
142 pTxXfer->fSendPacketTransferCb = NULL;
143 pTxXfer->fXferCompleteLocalCb = NULL;
147 pTxn = &(pTxXfer->aPktsCntrTxn[i].tTxnStruct);
149 BUILD_TTxnStruct(pTxn, HOST_WR_ACCESS_REG, &pTxXfer->aPktsCntrTxn[i].uPktsCntr, REGISTER_SIZE, NULL, NULL)
158 TTxXferObj *pTxXfer = (TTxXferObj *)hTxXfer;
160 pTxXfer->uPktsCntr = 0;
161 pTxXfer->uPktsCntrTxnIndex = 0;
162 pTxXfer->uAggregPktsNum = 0;
170 TTxXferObj *pTxXfer = (TTxXferObj *)hTxXfer;
172 pTxXfer->uAggregMaxPkts = pInitParams->tGeneral.uTxAggregPktsLimit;
178 TTxXferObj *pTxXfer = (TTxXferObj *)hTxXfer;
180 pTxXfer->uAggregMaxLen = uDmaBufLen;
186 TTxXferObj* pTxXfer = (TTxXferObj*)hTxXfer;
188 TRACE3(pTxXfer->hReport, REPORT_SEVERITY_INFORMATION, "txXfer_RegisterCb: CallBackID=%d, CBFunc=0x%x, CBObj=0x%x\n", CallBackID, CBFunc, CBObj);
194 pTxXfer->fSendPacketTransferCb = (TSendPacketTranferCb)CBFunc;
195 pTxXfer->hSendPacketTransferHndl = CBObj;
197 pTxXfer->fXferCompleteLocalCb = (TTxnDoneCb)txXfer_TransferDoneCb;
201 TRACE0(pTxXfer->hReport, REPORT_SEVERITY_ERROR, " - Illegal value\n");
209 TTxXferObj *pTxXfer = (TTxXferObj *)hTxXfer;
214 if (pTxXfer->uAggregPktsNum == 0)
216 pTxXfer->uAggregPktsNum = 1;
217 pTxXfer->uAggregPktsLen = uPktLen;
218 pTxXfer->pAggregFirstPkt = pPktCtrlBlk;
219 pTxXfer->pAggregLastPkt = pPktCtrlBlk;
221 if (pTxXfer->uAggregMaxPkts <= 1)
223 eStatus = txXfer_SendAggregatedPkts (pTxXfer, TI_TRUE);
224 pTxXfer->uAggregPktsNum = 0;
233 else if ((pTxXfer->uAggregPktsNum + 1 <= pTxXfer->uAggregMaxPkts) &&
234 (pTxXfer->uAggregPktsLen + uPktLen <= pTxXfer->uAggregMaxLen))
236 pTxXfer->uAggregPktsNum++;
237 pTxXfer->uAggregPktsLen += uPktLen;
238 pTxXfer->pAggregLastPkt->pNextAggregEntry = pPktCtrlBlk; /* Link new packet to last */
239 pTxXfer->pAggregLastPkt = pPktCtrlBlk; /* Save new packet as last */
240 pPktCtrlBlk->pNextAggregEntry = pTxXfer->pAggregFirstPkt; /* Point from last to first */
247 txXfer_SendAggregatedPkts (pTxXfer, TI_FALSE);
249 pTxXfer->uAggregPktsNum = 1;
250 pTxXfer->uAggregPktsLen = uPktLen;
251 pTxXfer->pAggregFirstPkt = pPktCtrlBlk;
252 pTxXfer->pAggregLastPkt = pPktCtrlBlk;
265 TTxXferObj *pTxXfer = (TTxXferObj *)hTxXfer;
267 if (pTxXfer->uAggregPktsNum > 0)
270 txXfer_SendAggregatedPkts (pTxXfer, TI_FALSE);
271 pTxXfer->uAggregPktsNum = 0;
291 * \param pTxXfer - The module's object
296 static ETxnStatus txXfer_SendAggregatedPkts (TTxXferObj *pTxXfer, TI_BOOL bLastPktSentNow)
305 pCurrPkt = pTxXfer->pAggregFirstPkt;
306 for (i = 0; i < pTxXfer->uAggregPktsNum; i++)
311 if (i < pTxXfer->uAggregPktsNum - 1)
321 pTxn->fTxnDoneCb = pTxXfer->fXferCompleteLocalCb;
322 pTxn->hCbHandle = (TI_HANDLE)pTxXfer;
327 eStatus = twIf_Transact (pTxXfer->hTwIf, pTxn);
331 pTxXfer->aDbgCountPktAggreg[pTxXfer->uAggregPktsNum]++;
332 TRACE5(pTxXfer->hReport, REPORT_SEVERITY_INFORMATION, "txXfer_SendAggregatedPkts: Status=%d, NumPkts=%d, AggregLen=%d, pFirstPkt=0x%x, pLastPkt=0x%x\n", eStatus, pTxXfer->uAggregPktsNum, pTxXfer->uAggregPktsLen, pTxXfer->pAggregFirstPkt, pTxXfer->pAggregLastPkt);
335 TRACE5(pTxXfer->hReport, REPORT_SEVERITY_ERROR, "txXfer_SendAggregatedPkts: Status=%d, NumPkts=%d, AggregLen=%d, pFirstPkt=0x%x, pLastPkt=0x%x\n", eStatus, pTxXfer->uAggregPktsNum, pTxXfer->uAggregPktsLen, pTxXfer->pAggregFirstPkt, pTxXfer->pAggregLastPkt);
342 pTxXfer->uPktsCntr += pTxXfer->uAggregPktsNum;
343 pTxXfer->uPktsCntrTxnIndex++;
344 if (pTxXfer->uPktsCntrTxnIndex == CTRL_BLK_ENTRIES_NUM)
346 pTxXfer->uPktsCntrTxnIndex = 0;
348 pPktsCntrTxn = &(pTxXfer->aPktsCntrTxn[pTxXfer->uPktsCntrTxnIndex]);
349 pPktsCntrTxn->uPktsCntr = ENDIAN_HANDLE_LONG(pTxXfer->uPktsCntr);
351 twIf_Transact(pTxXfer->hTwIf, &pPktsCntrTxn->tTxnStruct);
356 if (pTxXfer->fSendPacketTransferCb && (eStatus == TXN_STATUS_COMPLETE))
359 TI_UINT32 uNumCbCalls = bLastPktSentNow ? (pTxXfer->uAggregPktsNum - 1) : pTxXfer->uAggregPktsNum;
361 pCurrPkt = pTxXfer->pAggregFirstPkt;
364 pTxXfer->fSendPacketTransferCb (pTxXfer->hSendPacketTransferHndl, pCurrPkt);
383 * \param pTxXfer - The module's object
389 TTxXferObj *pTxXfer = (TTxXferObj*)hTxXfer;
397 for (i = 0; i < pTxXfer->uAggregMaxPkts; i++)
399 pTxXfer->fSendPacketTransferCb (pTxXfer->hSendPacketTransferHndl, pCurrPkt);
410 TRACE3(pTxXfer->hReport, REPORT_SEVERITY_INFORMATION, "txXfer_TransferDoneCb: NumPkts=%d, pInputPkt=0x%x, pCurrPkt=0x%x\n", i + 1, pInputPkt, pCurrPkt);
418 TTxXferObj *pTxXfer = (TTxXferObj*)hTxXfer;
420 os_memoryZero (pTxXfer->hOs, &pTxXfer->aDbgCountPktAggreg, sizeof(pTxXfer->aDbgCountPktAggreg));
426 TTxXferObj *pTxXfer = (TTxXferObj*)hTxXfer;
431 WLAN_OS_REPORT(("uAggregMaxPkts = %d\n", pTxXfer->uAggregMaxPkts));
432 WLAN_OS_REPORT(("uAggregMaxLen = %d\n", pTxXfer->uAggregMaxLen));
433 WLAN_OS_REPORT(("uAggregPktsNum = %d\n", pTxXfer->uAggregPktsNum));
434 WLAN_OS_REPORT(("uAggregPktsLen = %d\n", pTxXfer->uAggregPktsLen));
435 WLAN_OS_REPORT(("uPktsCntr = %d\n", pTxXfer->uPktsCntr));
436 WLAN_OS_REPORT(("uPktsCntrTxnIndex = %d\n", pTxXfer->uPktsCntrTxnIndex));
439 WLAN_OS_REPORT(("uCountPktAggreg-%2d = %d\n", i, pTxXfer->aDbgCountPktAggreg[i]));