/* Start transmit. Caller is responsible for locking shared resources. musb must be locked.  */
static void musb_h_tx_start(struct musb_hw_ep *ep)
/* Start transmit. Caller is responsible for locking shared resources. musb must be locked.  */
static void musb_h_tx_start(struct musb_hw_ep *ep)
{
	u16	txcsr;
	if (ep->epnum) {
		txcsr = musb_readw(ep->regs, MUSB_TXCSR);
		txcsr |= MUSB_TXCSR_TXPKTRDY | MUSB_TXCSR_H_WZC_BITS;
		musb_writew(ep->regs, MUSB_TXCSR, txcsr);
	} else {
		txcsr = MUSB_CSR0_H_SETUPPKT | MUSB_CSR0_TXPKTRDY;
		musb_writew(ep->regs, MUSB_CSR0, txcsr);
	}
}