Ejemplo n.º 1
0
VOID	RTUSBInitRxDesc(
	IN	PRTMP_ADAPTER	pAd,
	IN	PRX_CONTEXT		pRxContext)
{
	PURB				pUrb;
	POS_COOKIE			pObj = (POS_COOKIE) pAd->OS_Cookie;
	ULONG				RX_bulk_size;


	pUrb = pRxContext->pUrb;
	ASSERT(pUrb);

	if ( pAd->BulkInMaxPacketSize == 64)
		RX_bulk_size = 4096;
	else
		RX_bulk_size = MAX_RXBULK_SIZE;

	//Initialize a rx bulk urb
	RTUSB_FILL_BULK_URB(pUrb,
						pObj->pUsb_Dev,
						usb_rcvbulkpipe(pObj->pUsb_Dev, pAd->BulkInEpAddr),
						&(pRxContext->TransferBuffer[pAd->NextRxBulkInPosition]),
						RX_bulk_size - (pAd->NextRxBulkInPosition),
						(usb_complete_t)RTUSBBulkRxComplete,
						(void *)pRxContext);

	pUrb->transfer_dma	= pRxContext->data_dma + pAd->NextRxBulkInPosition;
	pUrb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;


}
Ejemplo n.º 2
0
VOID	RTUSBInitHTTxDesc(
	IN	PRTMP_ADAPTER	pAd,
	IN	PHT_TX_CONTEXT	pTxContext,
	IN	UCHAR			BulkOutPipeId,
	IN	ULONG			BulkOutSize,
	IN	usb_complete_t	Func)
{
	PURB				pUrb;
	PUCHAR				pSrc = NULL;
	POS_COOKIE			pObj = (POS_COOKIE) pAd->OS_Cookie;

	pUrb = pTxContext->pUrb;
	ASSERT(pUrb);

	// Store BulkOut PipeId
	pTxContext->BulkOutPipeId = BulkOutPipeId;

	pSrc = &pTxContext->TransferBuffer->field.WirelessPacket[pTxContext->NextBulkOutPosition];


	//Initialize a tx bulk urb
	RTUSB_FILL_BULK_URB(pUrb,
						pObj->pUsb_Dev,
						usb_sndbulkpipe(pObj->pUsb_Dev, pAd->BulkOutEpAddr[BulkOutPipeId]),
						pSrc,
						BulkOutSize,
						Func,
						pTxContext);

	pUrb->transfer_dma	= (pTxContext->data_dma + pTxContext->NextBulkOutPosition);
	pUrb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;

}
Ejemplo n.º 3
0
void RTUSBInitHTTxDesc(struct rt_rtmp_adapter *pAd,
		       struct rt_ht_tx_context *pTxContext,
		       u8 BulkOutPipeId,
		       unsigned long BulkOutSize, IN usb_complete_t Func)
{
	PURB pUrb;
	u8 *pSrc = NULL;
	struct os_cookie *pObj = (struct os_cookie *)pAd->OS_Cookie;

	pUrb = pTxContext->pUrb;
	ASSERT(pUrb);

	/* Store BulkOut PipeId */
	pTxContext->BulkOutPipeId = BulkOutPipeId;

	pSrc =
	    &pTxContext->TransferBuffer->field.WirelessPacket[pTxContext->
							      NextBulkOutPosition];

	/*Initialize a tx bulk urb */
	RTUSB_FILL_BULK_URB(pUrb,
			    pObj->pUsb_Dev,
			    usb_sndbulkpipe(pObj->pUsb_Dev,
					    pAd->BulkOutEpAddr[BulkOutPipeId]),
			    pSrc, BulkOutSize, Func, pTxContext);

	pUrb->transfer_dma =
	    (pTxContext->data_dma + pTxContext->NextBulkOutPosition);
	pUrb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;

}
Ejemplo n.º 4
0
void RTUSBInitRxDesc(struct rt_rtmp_adapter *pAd, struct rt_rx_context *pRxContext)
{
	PURB pUrb;
	struct os_cookie *pObj = (struct os_cookie *)pAd->OS_Cookie;
	unsigned long RX_bulk_size;

	pUrb = pRxContext->pUrb;
	ASSERT(pUrb);

	if (pAd->BulkInMaxPacketSize == 64)
		RX_bulk_size = 4096;
	else
		RX_bulk_size = MAX_RXBULK_SIZE;

	/*Initialize a rx bulk urb */
	RTUSB_FILL_BULK_URB(pUrb,
			    pObj->pUsb_Dev,
			    usb_rcvbulkpipe(pObj->pUsb_Dev, pAd->BulkInEpAddr),
			    &(pRxContext->
			      TransferBuffer[pAd->NextRxBulkInPosition]),
			    RX_bulk_size - (pAd->NextRxBulkInPosition),
			    (usb_complete_t) RTUSBBulkRxComplete,
			    (void *)pRxContext);

	pUrb->transfer_dma = pRxContext->data_dma + pAd->NextRxBulkInPosition;
	pUrb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;

}
Ejemplo n.º 5
0
VOID	RTUSBInitTxDesc(
	IN	PRTMP_ADAPTER	pAd,
	IN	PTX_CONTEXT		pTxContext,
	IN	UCHAR			BulkOutPipeId,
	IN	usb_complete_t	Func)
{
	PURB				pUrb;
	PUCHAR				pSrc = NULL;
	POS_COOKIE			pObj = (POS_COOKIE) pAd->OS_Cookie;

	pUrb = pTxContext->pUrb;
	ASSERT(pUrb);

	// Store BulkOut PipeId
	pTxContext->BulkOutPipeId = BulkOutPipeId;

	if (pTxContext->bAggregatible)
	{
		pSrc = &pTxContext->TransferBuffer->Aggregation[2];
	}
	else
	{
		pSrc = (PUCHAR) pTxContext->TransferBuffer->field.WirelessPacket;
	}


	//Initialize a tx bulk urb
	RTUSB_FILL_BULK_URB(pUrb,
						pObj->pUsb_Dev,
						usb_sndbulkpipe(pObj->pUsb_Dev, pAd->BulkOutEpAddr[BulkOutPipeId]),
						pSrc,
						pTxContext->BulkOutSize,
						Func,
						pTxContext);

	if (pTxContext->bAggregatible)
		pUrb->transfer_dma	= (pTxContext->data_dma + TX_BUFFER_NORMSIZE + 2);
	else
		pUrb->transfer_dma	= pTxContext->data_dma;

	pUrb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;

}
Ejemplo n.º 6
0
void RTUSBInitTxDesc(struct rt_rtmp_adapter *pAd,
		     struct rt_tx_context *pTxContext,
		     u8 BulkOutPipeId, IN usb_complete_t Func)
{
	PURB pUrb;
	u8 *pSrc = NULL;
	struct os_cookie *pObj = (struct os_cookie *)pAd->OS_Cookie;

	pUrb = pTxContext->pUrb;
	ASSERT(pUrb);

	/* Store BulkOut PipeId */
	pTxContext->BulkOutPipeId = BulkOutPipeId;

	if (pTxContext->bAggregatible) {
		pSrc = &pTxContext->TransferBuffer->Aggregation[2];
	} else {
		pSrc =
		    (u8 *)pTxContext->TransferBuffer->field.WirelessPacket;
	}

	/*Initialize a tx bulk urb */
	RTUSB_FILL_BULK_URB(pUrb,
			    pObj->pUsb_Dev,
			    usb_sndbulkpipe(pObj->pUsb_Dev,
					    pAd->BulkOutEpAddr[BulkOutPipeId]),
			    pSrc, pTxContext->BulkOutSize, Func, pTxContext);

	if (pTxContext->bAggregatible)
		pUrb->transfer_dma =
		    (pTxContext->data_dma + TX_BUFFER_NORMSIZE + 2);
	else
		pUrb->transfer_dma = pTxContext->data_dma;

	pUrb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;

}