diff options
author | Ben Dooks <ben@simtec.co.uk> | 2009-10-02 00:44:19 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-10-02 01:11:15 +0200 |
commit | 68c5ed592fdae16982ffe36aef89faba70a32cfc (patch) | |
tree | 11436cddd195f1c316e9ffb7fd7d2a5f417d8687 /drivers/mmc/host/s3cmci.h | |
parent | s3cmci: Kconfig selection for PIO/DMA/Both (diff) | |
download | linux-68c5ed592fdae16982ffe36aef89faba70a32cfc.tar.xz linux-68c5ed592fdae16982ffe36aef89faba70a32cfc.zip |
s3cmci: DMA fixes
Fixes for the DMA transfer mode of the driver to try and improve the state
of the code:
- Ensure that dma_complete is set during the end of the command phase
so that transfers do not stall awaiting the completion
- Update the DMA debugging to provide a bit more useful information
such as how many DMA descriptors where not processed and print the
DMA addresses in hexadecimal.
- Fix the DMA channel request code to actually request DMA for the
S3CMCI block instead of whatever '0' signified.
- Add fallback to PIO if we cannot get the DMA channel, as many of the
devices with this block only have a limited number of DMA channels.
- Only try and claim and free the DMA channel if we are trying to use it.
This improves the driver DMA code to the point where it can now identify a
card and read the partition table. However the DMA can still stall when
trying to move data between the host and memory.
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Cc: <linux-mmc@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to '')
-rw-r--r-- | drivers/mmc/host/s3cmci.h | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/drivers/mmc/host/s3cmci.h b/drivers/mmc/host/s3cmci.h index 62fac6602306..c76b53dbeb61 100644 --- a/drivers/mmc/host/s3cmci.h +++ b/drivers/mmc/host/s3cmci.h @@ -8,9 +8,6 @@ * published by the Free Software Foundation. */ -/* FIXME: DMA Resource management ?! */ -#define S3CMCI_DMA 0 - enum s3cmci_waitfor { COMPLETION_NONE, COMPLETION_FINALIZE, |