diff options
Diffstat (limited to 'drivers/media/video/ivtv/ivtv-udma.h')
-rw-r--r-- | drivers/media/video/ivtv/ivtv-udma.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/drivers/media/video/ivtv/ivtv-udma.h b/drivers/media/video/ivtv/ivtv-udma.h new file mode 100644 index 000000000000..e131bccedec0 --- /dev/null +++ b/drivers/media/video/ivtv/ivtv-udma.h | |||
@@ -0,0 +1,43 @@ | |||
1 | /* | ||
2 | Copyright (C) 2003-2004 Kevin Thayer <nufan_wfk at yahoo.com> | ||
3 | Copyright (C) 2004 Chris Kennedy <c@groovy.org> | ||
4 | Copyright (C) 2006-2007 Hans Verkuil <hverkuil@xs4all.nl> | ||
5 | |||
6 | This program is free software; you can redistribute it and/or modify | ||
7 | it under the terms of the GNU General Public License as published by | ||
8 | the Free Software Foundation; either version 2 of the License, or | ||
9 | (at your option) any later version. | ||
10 | |||
11 | This program is distributed in the hope that it will be useful, | ||
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | GNU General Public License for more details. | ||
15 | |||
16 | You should have received a copy of the GNU General Public License | ||
17 | along with this program; if not, write to the Free Software | ||
18 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
19 | */ | ||
20 | |||
21 | /* User DMA functions */ | ||
22 | void ivtv_udma_get_page_info(struct ivtv_dma_page_info *dma_page, unsigned long first, unsigned long size); | ||
23 | int ivtv_udma_fill_sg_list(struct ivtv_user_dma *dma, struct ivtv_dma_page_info *dma_page, int map_offset); | ||
24 | void ivtv_udma_fill_sg_array(struct ivtv_user_dma *dma, u32 buffer_offset, u32 buffer_offset_2, u32 split); | ||
25 | int ivtv_udma_setup(struct ivtv *itv, unsigned long ivtv_dest_addr, | ||
26 | void __user *userbuf, int size_in_bytes); | ||
27 | void ivtv_udma_unmap(struct ivtv *itv); | ||
28 | void ivtv_udma_free(struct ivtv *itv); | ||
29 | void ivtv_udma_alloc(struct ivtv *itv); | ||
30 | void ivtv_udma_prepare(struct ivtv *itv); | ||
31 | void ivtv_udma_start(struct ivtv *itv); | ||
32 | |||
33 | static inline void ivtv_udma_sync_for_device(struct ivtv *itv) | ||
34 | { | ||
35 | pci_dma_sync_single_for_device((struct pci_dev *)itv->dev, itv->udma.SG_handle, | ||
36 | sizeof(itv->udma.SGarray), PCI_DMA_TODEVICE); | ||
37 | } | ||
38 | |||
39 | static inline void ivtv_udma_sync_for_cpu(struct ivtv *itv) | ||
40 | { | ||
41 | pci_dma_sync_single_for_cpu((struct pci_dev *)itv->dev, itv->udma.SG_handle, | ||
42 | sizeof(itv->udma.SGarray), PCI_DMA_TODEVICE); | ||
43 | } | ||