Blackfin arch: DMA operation cleanup
1) Disable Interrupts during DMA memcpy to avoid raise conditions. 2) Mark MDMA channel 0 as reserved, since were using it internally. 3) Add DMA based equivalents for insX and outsX. 4) Our insX and outsX only handles len <= 2^16. Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
d1b945fdb6
commit
23ee968d96
@@ -115,13 +115,21 @@ static inline unsigned int readl(void __iomem *addr)
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
extern void outsb(void __iomem *port, const void *addr, unsigned long count);
|
||||
extern void outsw(void __iomem *port, const void *addr, unsigned long count);
|
||||
extern void outsl(void __iomem *port, const void *addr, unsigned long count);
|
||||
extern void outsb(void __iomem *port, const void *addr, unsigned short count);
|
||||
extern void outsw(void __iomem *port, const void *addr, unsigned short count);
|
||||
extern void outsl(void __iomem *port, const void *addr, unsigned short count);
|
||||
|
||||
extern void insb(const void __iomem *port, void *addr, unsigned long count);
|
||||
extern void insw(const void __iomem *port, void *addr, unsigned long count);
|
||||
extern void insl(const void __iomem *port, void *addr, unsigned long count);
|
||||
extern void insb(const void __iomem *port, void *addr, unsigned short count);
|
||||
extern void insw(const void __iomem *port, void *addr, unsigned short count);
|
||||
extern void insl(const void __iomem *port, void *addr, unsigned short count);
|
||||
|
||||
extern void dma_outsb(void __iomem *port, const void *addr, unsigned short count);
|
||||
extern void dma_outsw(void __iomem *port, const void *addr, unsigned short count);
|
||||
extern void dma_outsl(void __iomem *port, const void *addr, unsigned short count);
|
||||
|
||||
extern void dma_insb(const void __iomem *port, void *addr, unsigned short count);
|
||||
extern void dma_insw(const void __iomem *port, void *addr, unsigned short count);
|
||||
extern void dma_insl(const void __iomem *port, void *addr, unsigned short count);
|
||||
|
||||
/*
|
||||
* Map some physical address range into the kernel address space.
|
||||
|
||||
Reference in New Issue
Block a user