ep->dma_counter = omap_readw(OMAP_DMA_CSAC(ep->lch)); 
ep->dma_counter = dma_csac(ep->lch); 
static void next_in_dma(struct omap_ep *ep, struct omap_req *req){	u16		txdma_ctrl;	unsigned	length = req->req.length - req->req.actual;	const int	sync_mode = cpu_is_omap15xx()				? OMAP_DMA_SYNC_FRAME				: OMAP_DMA_SYNC_ELEMENT;	/* measure length in either bytes or packets */	if ((cpu_is_omap16xx() && length <= (UDC_TXN_TSC + 1))			|| (cpu_is_omap15xx() && length < ep->maxpacket)) {		txdma_ctrl = UDC_TXN_EOT | length;		omap_set_dma_transfer_params(ep->lch, OMAP_DMA_DATA_TYPE_S8,				length, 1, sync_mode);	} else {		length = min(length / ep->maxpacket,				(unsigned) UDC_TXN_TSC + 1); 		txdma_ctrl = length;		omap_set_dma_transfer_params(ep->lch, OMAP_DMA_DATA_TYPE_S8,				ep->ep.maxpacket, length, sync_mode);		length *= ep->maxpacket;	}	omap_set_dma_src_params(ep->lch, OMAP_DMA_PORT_EMIFF,		OMAP_DMA_AMODE_POST_INC, req->req.dma + req->req.actual);	omap_start_dma(ep->lch);	ep->dma_counter = omap_readw(OMAP_DMA_CSAC(ep->lch));	UDC_DMA_IRQ_EN_REG |= UDC_TX_DONE_IE(ep->dma_channel);	UDC_TXDMA_REG(ep->dma_channel) = UDC_TXN_START | txdma_ctrl;	req->dma_bytes = length;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/65111084c63d7674dc37833e8eb59cfdaa4d0bda/omap_udc.c/clean/drivers/usb/gadget/omap_udc.c