Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 452f0394 authored by Anand Gadiyar's avatar Anand Gadiyar Committed by Greg Kroah-Hartman
Browse files

usb: musb: hsdma: add wrapper for reading DMA count



Add a wrapper for reading the DMA count register, analogous
to the one for writing to this register.

Signed-off-by: default avatarAnand Gadiyar <gadiyar@ti.com>
Cc: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: default avatarFelipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 3b151526
Loading
Loading
Loading
Loading
+17 −0
Original line number Original line Diff line number Diff line
@@ -55,6 +55,10 @@
		    MUSB_HSDMA_CHANNEL_OFFSET(bchannel, MUSB_HSDMA_ADDRESS), \
		    MUSB_HSDMA_CHANNEL_OFFSET(bchannel, MUSB_HSDMA_ADDRESS), \
		    addr)
		    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) \
#define musb_write_hsdma_count(mbase, bchannel, len) \
	musb_writel(mbase, \
	musb_writel(mbase, \
		    MUSB_HSDMA_CHANNEL_OFFSET(bchannel, MUSB_HSDMA_COUNT), \
		    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)));
		((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,
static inline void musb_write_hsdma_count(void __iomem *mbase,
				u8 bchannel, u32 len)
				u8 bchannel, u32 len)
{
{