aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/via/via-core.h
diff options
context:
space:
mode:
authorJonathan Corbet <corbet@lwn.net>2010-04-23 12:04:12 -0400
committerJonathan Corbet <corbet@lwn.net>2010-05-07 19:17:38 -0400
commit3d28eb42c52a799c806082e6d856f634ed1db902 (patch)
treeca39bb9655c48a59f7a0ea5af3023d3bf8153dab /drivers/video/via/via-core.h
parent94dd1a856b23bd51dfebf68e6dd63cfd4d4fd5ae (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.h29
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 */
137int viafb_request_dma(void);
138void viafb_release_dma(void);
139/* void viafb_dma_copy_out(unsigned int offset, dma_addr_t paddr, int len); */
140int 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__ */