patch-2_6_7-vs1_9_1_12
[linux-2.6.git] / include / asm-arm / arch-pxa / dma.h
index edc4804..df4bc66 100644 (file)
@@ -29,9 +29,21 @@ typedef struct {
        volatile u32 dcmd;      /* DCMD value for the current transfer */
 } pxa_dma_desc;
 
-/*
- * DMA registration
- */
+#if defined(CONFIG_PXA27x)
+
+#define PXA_DMA_CHANNELS       32
+#define PXA_DMA_NBCH(prio)     ((prio == DMA_PRIO_LOW) ? 16 : 8)
+
+typedef enum {
+       DMA_PRIO_HIGH = 0,
+       DMA_PRIO_MEDIUM = 8,
+       DMA_PRIO_LOW = 16
+} pxa_dma_prio;
+
+#elif defined(CONFIG_PXA25x)
+
+#define PXA_DMA_CHANNELS       16
+#define PXA_DMA_NBCH(prio)     ((prio == DMA_PRIO_LOW) ? 8 : 4)
 
 typedef enum {
        DMA_PRIO_HIGH = 0,
@@ -39,6 +51,12 @@ typedef enum {
        DMA_PRIO_LOW = 8
 } pxa_dma_prio;
 
+#endif
+
+/*
+ * DMA registration
+ */
+
 int pxa_request_dma (char *name,
                         pxa_dma_prio prio,
                         void (*irq_handler)(int, void *, struct pt_regs *),