u8 USB_DMA_status(u8 *pbDMAen, u8 *pbDMAdir) { u8 bchannel; u8 bDMAen = 0; u8 bDMAdir = 0; #ifdef CONFIG_OF for (bchannel = 0; bchannel < MUSB_HSDMA_CHANNELS; bchannel++){ bDMAen |= (usb_read_hsdma_ctrl(mtk_musb->mregs, bchannel) & 0x01) << bchannel; bDMAdir |= ((usb_read_hsdma_ctrl(mtk_musb->mregs, bchannel) & 0x02)>>1) << bchannel; } #else void __iomem *base = USB_BASE; for (bchannel = 0; bchannel < MUSB_HSDMA_CHANNELS; bchannel++){ bDMAen |= (usb_read_hsdma_ctrl(base, bchannel) & 0x01) << bchannel; bDMAdir |= ((usb_read_hsdma_ctrl(base, bchannel) & 0x02)>>1) << bchannel; } #endif if (pbDMAen){ *pbDMAen = bDMAen; } if (pbDMAdir){ *pbDMAdir = bDMAdir; } if (bDMAen > 0) return 1; else return 0; }
u8 USB_DMA_status(u8 *pbDMAen, u8 *pbDMAdir) { void __iomem *base = (void *)USB_BASE; u8 bchannel; u8 bDMAen = 0; u8 bDMAdir = 0; for (bchannel = 0; bchannel < MUSB_HSDMA_CHANNELS; bchannel++){ bDMAen |= (usb_read_hsdma_ctrl(base, bchannel) & 0x01) << bchannel; bDMAdir |= ((usb_read_hsdma_ctrl(base, bchannel) & 0x02)>>1) << bchannel; } if (pbDMAen){ *pbDMAen = bDMAen; } if (pbDMAdir){ *pbDMAdir = bDMAdir; } if (bDMAen > 0) return 1; else return 0; }