diff options
Diffstat (limited to 'drivers/media/video/ivtv/ivtv-udma.h')
-rw-r--r-- | drivers/media/video/ivtv/ivtv-udma.h | 48 |
1 files changed, 48 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 00000000000..ee3c9efb5b7 --- /dev/null +++ b/drivers/media/video/ivtv/ivtv-udma.h | |||
@@ -0,0 +1,48 @@ | |||
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 | #ifndef IVTV_UDMA_H | ||
22 | #define IVTV_UDMA_H | ||
23 | |||
24 | /* User DMA functions */ | ||
25 | void ivtv_udma_get_page_info(struct ivtv_dma_page_info *dma_page, unsigned long first, unsigned long size); | ||
26 | int ivtv_udma_fill_sg_list(struct ivtv_user_dma *dma, struct ivtv_dma_page_info *dma_page, int map_offset); | ||
27 | void ivtv_udma_fill_sg_array(struct ivtv_user_dma *dma, u32 buffer_offset, u32 buffer_offset_2, u32 split); | ||
28 | int ivtv_udma_setup(struct ivtv *itv, unsigned long ivtv_dest_addr, | ||
29 | void __user *userbuf, int size_in_bytes); | ||
30 | void ivtv_udma_unmap(struct ivtv *itv); | ||
31 | void ivtv_udma_free(struct ivtv *itv); | ||
32 | void ivtv_udma_alloc(struct ivtv *itv); | ||
33 | void ivtv_udma_prepare(struct ivtv *itv); | ||
34 | void ivtv_udma_start(struct ivtv *itv); | ||
35 | |||
36 | static inline void ivtv_udma_sync_for_device(struct ivtv *itv) | ||
37 | { | ||
38 | pci_dma_sync_single_for_device(itv->pdev, itv->udma.SG_handle, | ||
39 | sizeof(itv->udma.SGarray), PCI_DMA_TODEVICE); | ||
40 | } | ||
41 | |||
42 | static inline void ivtv_udma_sync_for_cpu(struct ivtv *itv) | ||
43 | { | ||
44 | pci_dma_sync_single_for_cpu(itv->pdev, itv->udma.SG_handle, | ||
45 | sizeof(itv->udma.SGarray), PCI_DMA_TODEVICE); | ||
46 | } | ||
47 | |||
48 | #endif | ||