X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-arm%2Farch-pxa%2Fdma.h;h=df4bc662850e8d49798fedf76e944a06a5e8a268;hb=eb643825dab24bf61fe40ea800c5be013315220d;hp=edc4804a66c0ddd517950474428b5e8bc701ec16;hpb=86090fcac5e27b630656fe3d963a6b80e26dac44;p=linux-2.6.git diff --git a/include/asm-arm/arch-pxa/dma.h b/include/asm-arm/arch-pxa/dma.h index edc4804a6..df4bc6628 100644 --- a/include/asm-arm/arch-pxa/dma.h +++ b/include/asm-arm/arch-pxa/dma.h @@ -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 *),