summaryrefslogtreecommitdiffstats
path: root/drivers/dma/mv_xor.h
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2012-10-29 16:54:49 +0100
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2012-11-20 15:58:56 +0100
commit60d151f38799d5e15845ee04b73cbf3839f1b06c (patch)
treee360fb470a5ba59e6a5363d964b355d3fdae5456 /drivers/dma/mv_xor.h
parenta6b4a9d2c1063ffc52ca94b6c1b24f9b6d5b79c5 (diff)
downloadlinux-0-day-60d151f38799d5e15845ee04b73cbf3839f1b06c.tar.gz
linux-0-day-60d151f38799d5e15845ee04b73cbf3839f1b06c.tar.xz
dma: mv_xor: allow channels to be registered directly from the main device
Extend the XOR engine driver (currently called "mv_xor_shared") so that XOR channels can be passed in the platform_data structure, and be registered from there. This will allow the users of the driver to be converted to the single platform_driver variant of the mv_xor driver. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'drivers/dma/mv_xor.h')
-rw-r--r--drivers/dma/mv_xor.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/dma/mv_xor.h b/drivers/dma/mv_xor.h
index a0641aebbdef3..686575f6b9f59 100644
--- a/drivers/dma/mv_xor.h
+++ b/drivers/dma/mv_xor.h
@@ -26,6 +26,7 @@
#define USE_TIMER
#define MV_XOR_SLOT_SIZE 64
#define MV_XOR_THRESHOLD 1
+#define MV_XOR_MAX_CHANNELS 2
#define XOR_OPERATION_MODE_XOR 0
#define XOR_OPERATION_MODE_MEMCPY 2
@@ -53,9 +54,10 @@
#define WINDOW_BAR_ENABLE(chan) (0x240 + ((chan) << 2))
struct mv_xor_shared_private {
- void __iomem *xor_base;
- void __iomem *xor_high_base;
- struct clk *clk;
+ void __iomem *xor_base;
+ void __iomem *xor_high_base;
+ struct clk *clk;
+ struct mv_xor_device *channels[MV_XOR_MAX_CHANNELS];
};