27 Jul, 2011
1 commit
-
This allows us to move duplicated code in
(atomic_inc_not_zero() for now) toSigned-off-by: Arun Sharma
Reviewed-by: Eric Dumazet
Cc: Ingo Molnar
Cc: David Miller
Cc: Eric Dumazet
Acked-by: Mike Frysinger
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
10 Jan, 2011
2 commits
-
The array of pointers is never written, so constify it.
Signed-off-by: Mike Frysinger
-
Signed-off-by: Mike Frysinger
07 Aug, 2010
1 commit
-
The dma_memcpy() function takes care of flushing different caches for us.
Normally this is what we want, but when resuming from mem, we don't yet
have caches enabled. If these functions happen to be placed into L1 mem
(which is what we're trying to relocate), then things aren't going to
work. So define a non-cache dma_memcpy() variant to utilize in situations
like this.Signed-off-by: Michael Hennerich
Signed-off-by: Mike Frysinger
09 Mar, 2010
1 commit
-
Some IRQ handlers need to disable a DMA channel without waiting.
Signed-off-by: Barry Song
Signed-off-by: Mike Frysinger
15 Dec, 2009
3 commits
-
Signed-off-by: Barry Song
Signed-off-by: Mike Frysinger -
Every Blackfin variant has the same DMA bit masks, so avoid duplicating
them over and over in each mach header.Signed-off-by: Mike Frysinger
-
The DMA channel status field was encoding redundant info wrt the DMA MMR
config register, and it was doing an incomplete job of checking all DMA
channels (some drivers write directly to the config register). So drop
the tristate field in favor of a binary atomic field. This simplifies
the code in general, removes the implicit need for sleeping, and forces
the suspend code to handle all channels properly.Signed-off-by: Mike Frysinger
12 Jun, 2009
2 commits
-
Make sure the internal core buffers are flushed before telling the DMA
engine to fetch the descriptor structure so that it gets the right values.Signed-off-by: Sonic Zhang
Signed-off-by: Mike Frysinger -
Our early L1 relocate code may implicitly call code which lives in L1
memory. This is due to the dma_memcpy() rewrite that made the DMA code
lockless and safe to be used by multiple processes. If we start the
early DMA memcpy to relocate things into L1 instruction but then our
DMA memcpy code calls a function that lives in L1, things fall apart.
As such, create a small dedicated DMA memcpy routine that we can assume
sanity at boot time.Reported-by: Filip Van Rillaer
Signed-off-by: Robin Getz
Signed-off-by: Mike Frysinger
07 Jan, 2009
13 commits
-
Signed-off-by: Mike Frysinger
Signed-off-by: Bryan Wu -
Signed-off-by: Mike Frysinger
Signed-off-by: Bryan Wu -
Signed-off-by: Mike Frysinger
Signed-off-by: Bryan Wu -
cannot simply OR the ndsize ... need to clear out the old value first
Signed-off-by: Mike Frysinger
Signed-off-by: Bryan Wu -
Signed-off-by: Mike Frysinger
Signed-off-by: Bryan Wu -
move most dma functions into static inlines since they are vastly 1
liners that get/set a value in a structureSigned-off-by: Mike Frysinger
Signed-off-by: Bryan Wu -
Signed-off-by: Mike Frysinger
Signed-off-by: Bryan Wu -
the irq member already serves the same purpose
Signed-off-by: Mike Frysinger
Signed-off-by: Bryan Wu -
Signed-off-by: Mike Frysinger
Signed-off-by: Bryan Wu -
- unify all dma in/out functions (takes ~35 lines of code now)
- unify dma_memcpy with dma in/out functions (1 place that touches MDMA0
registers)
- add support for 32bit transfers
- cleanup dma_memcpy code to be much more readable
- irqs are disabled only while programming MDMA registers rather than
the entire transactionSigned-off-by: Mike Frysinger
Signed-off-by: Bryan Wu -
Signed-off-by: Mike Frysinger
Signed-off-by: Bryan Wu -
Signed-off-by: Mike Frysinger
Signed-off-by: Bryan Wu -
Signed-off-by: Michael McTernan
Signed-off-by: Sonic Zhang
Signed-off-by: Bryan Wu
28 Oct, 2008
1 commit
-
Add irq to struct dma_channel lookup channel2irq() only once,
since channel2irq() is fairly large on some Blackfin derivatives.Signed-off-by: Michael Hennerich
Signed-off-by: Bryan Wu
27 Aug, 2008
1 commit
-
Signed-off-by: Bryan Wu