diff options
author | Jonathan Corbet <corbet@lwn.net> | 2010-04-23 12:04:12 -0400 |
---|---|---|
committer | Jonathan Corbet <corbet@lwn.net> | 2010-05-07 19:17:38 -0400 |
commit | 3d28eb42c52a799c806082e6d856f634ed1db902 (patch) | |
tree | ca39bb9655c48a59f7a0ea5af3023d3bf8153dab /drivers/video/via/via-core.h | |
parent | 94dd1a856b23bd51dfebf68e6dd63cfd4d4fd5ae (diff) |
viafb: Add a simple VX855 DMA engine driver
This code provides a minimal amount of access to the DMA engine as
needed by the camera driver. VX855 only; it's guaranteed not to work
on other chipsets, so it won't try.
Cc: ScottFang@viatech.com.cn
Cc: JosephChan@via.com.tw
Cc: Harald Welte <laforge@gnumonks.org>
Acked-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Diffstat (limited to 'drivers/video/via/via-core.h')
-rw-r--r-- | drivers/video/via/via-core.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/drivers/video/via/via-core.h b/drivers/video/via/via-core.h index ba64b36d58e3..3d03141d6074 100644 --- a/drivers/video/via/via-core.h +++ b/drivers/video/via/via-core.h | |||
@@ -131,4 +131,33 @@ void viafb_irq_disable(u32 mask); | |||
131 | #define VDE_I_LVDSSIEN 0x40000000 /* LVDS Sense enable */ | 131 | #define VDE_I_LVDSSIEN 0x40000000 /* LVDS Sense enable */ |
132 | #define VDE_I_ENABLE 0x80000000 /* Global interrupt enable */ | 132 | #define VDE_I_ENABLE 0x80000000 /* Global interrupt enable */ |
133 | 133 | ||
134 | /* | ||
135 | * DMA management. | ||
136 | */ | ||
137 | int viafb_request_dma(void); | ||
138 | void viafb_release_dma(void); | ||
139 | /* void viafb_dma_copy_out(unsigned int offset, dma_addr_t paddr, int len); */ | ||
140 | int viafb_dma_copy_out_sg(unsigned int offset, struct scatterlist *sg, int nsg); | ||
141 | |||
142 | /* | ||
143 | * DMA Controller registers. | ||
144 | */ | ||
145 | #define VDMA_MR0 0xe00 /* Mod reg 0 */ | ||
146 | #define VDMA_MR_CHAIN 0x01 /* Chaining mode */ | ||
147 | #define VDMA_MR_TDIE 0x02 /* Transfer done int enable */ | ||
148 | #define VDMA_CSR0 0xe04 /* Control/status */ | ||
149 | #define VDMA_C_ENABLE 0x01 /* DMA Enable */ | ||
150 | #define VDMA_C_START 0x02 /* Start a transfer */ | ||
151 | #define VDMA_C_ABORT 0x04 /* Abort a transfer */ | ||
152 | #define VDMA_C_DONE 0x08 /* Transfer is done */ | ||
153 | #define VDMA_MARL0 0xe20 /* Mem addr low */ | ||
154 | #define VDMA_MARH0 0xe24 /* Mem addr high */ | ||
155 | #define VDMA_DAR0 0xe28 /* Device address */ | ||
156 | #define VDMA_DQWCR0 0xe2c /* Count (16-byte) */ | ||
157 | #define VDMA_TMR0 0xe30 /* Tile mode reg */ | ||
158 | #define VDMA_DPRL0 0xe34 /* Not sure */ | ||
159 | #define VDMA_DPR_IN 0x08 /* Inbound transfer to FB */ | ||
160 | #define VDMA_DPRH0 0xe38 | ||
161 | #define VDMA_PMR0 (0xe00 + 0x134) /* Pitch mode */ | ||
162 | |||
134 | #endif /* __VIA_CORE_H__ */ | 163 | #endif /* __VIA_CORE_H__ */ |