From b52929e8c6bea5512c526f30a4a6e76c23c3d15a Mon Sep 17 00:00:00 2001 From: Anand Gadiyar Date: Mon, 28 Dec 2009 13:40:35 +0200 Subject: [PATCH] --- yaml --- r: 185283 b: refs/heads/master c: 452f0394376d2cc882e4c4a593fc290c042799a9 h: refs/heads/master i: 185281: 50ff952ce60efbc24e2f542b2428f419c3132ded 185279: 40ad4ac408536081e8545e5ee6c9d8be4a4f572e v: v3 --- [refs] | 2 +- trunk/drivers/usb/musb/musbhsdma.h | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 7f35ba88386e..c4826eede3fd 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3b151526eda87901532390e11bba0dd59119f667 +refs/heads/master: 452f0394376d2cc882e4c4a593fc290c042799a9 diff --git a/trunk/drivers/usb/musb/musbhsdma.h b/trunk/drivers/usb/musb/musbhsdma.h index 1299d92dc83f..613f95a058f7 100644 --- a/trunk/drivers/usb/musb/musbhsdma.h +++ b/trunk/drivers/usb/musb/musbhsdma.h @@ -55,6 +55,10 @@ MUSB_HSDMA_CHANNEL_OFFSET(bchannel, MUSB_HSDMA_ADDRESS), \ addr) +#define musb_read_hsdma_count(mbase, bchannel) \ + musb_readl(mbase, \ + MUSB_HSDMA_CHANNEL_OFFSET(bchannel, MUSB_HSDMA_COUNT)) + #define musb_write_hsdma_count(mbase, bchannel, len) \ musb_writel(mbase, \ MUSB_HSDMA_CHANNEL_OFFSET(bchannel, MUSB_HSDMA_COUNT), \ @@ -96,6 +100,19 @@ static inline void musb_write_hsdma_addr(void __iomem *mbase, ((u16)(((u32) dma_addr >> 16) & 0xFFFF))); } +static inline u32 musb_read_hsdma_count(void __iomem *mbase, u8 bchannel) +{ + u32 count = musb_readw(mbase, + MUSB_HSDMA_CHANNEL_OFFSET(bchannel, MUSB_HSDMA_COUNT_HIGH)); + + count = count << 16; + + count |= musb_readw(mbase, + MUSB_HSDMA_CHANNEL_OFFSET(bchannel, MUSB_HSDMA_COUNT_LOW)); + + return count; +} + static inline void musb_write_hsdma_count(void __iomem *mbase, u8 bchannel, u32 len) {