Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | |
| 2 | /* |
| 3 | * |
Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 4 | Copyright (c) Eicon Networks, 2002. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 5 | * |
Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 6 | This source file is supplied for the use with |
| 7 | Eicon Networks range of DIVA Server Adapters. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 8 | * |
Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 9 | Eicon File Revision : 2.1 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 10 | * |
Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 11 | This program is free software; you can redistribute it and/or modify |
| 12 | it under the terms of the GNU General Public License as published by |
| 13 | the Free Software Foundation; either version 2, or (at your option) |
| 14 | any later version. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 15 | * |
Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 16 | This program is distributed in the hope that it will be useful, |
| 17 | but WITHOUT ANY WARRANTY OF ANY KIND WHATSOEVER INCLUDING ANY |
| 18 | implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| 19 | See the GNU General Public License for more details. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 20 | * |
Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 21 | You should have received a copy of the GNU General Public License |
| 22 | along with this program; if not, write to the Free Software |
| 23 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 24 | * |
| 25 | */ |
| 26 | #ifndef __DIVA_DMA_MAPPING_IFC_H__ |
| 27 | #define __DIVA_DMA_MAPPING_IFC_H__ |
| 28 | typedef struct _diva_dma_map_entry diva_dma_map_entry_t; |
Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 29 | struct _diva_dma_map_entry *diva_alloc_dma_map(void *os_context, int nentries); |
| 30 | void diva_init_dma_map_entry(struct _diva_dma_map_entry *pmap, |
| 31 | int nr, void *virt, dword phys, |
| 32 | void *addr_handle); |
| 33 | int diva_alloc_dma_map_entry(struct _diva_dma_map_entry *pmap); |
| 34 | void diva_free_dma_map_entry(struct _diva_dma_map_entry *pmap, int entry); |
| 35 | void diva_get_dma_map_entry(struct _diva_dma_map_entry *pmap, int nr, |
| 36 | void **pvirt, dword *pphys); |
| 37 | void diva_free_dma_mapping(struct _diva_dma_map_entry *pmap); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 38 | /* |
| 39 | Functionality to be implemented by OS wrapper |
| 40 | and running in process context |
Joe Perches | 475be4d | 2012-02-19 19:52:38 -0800 | [diff] [blame] | 41 | */ |
| 42 | void diva_init_dma_map(void *hdev, |
| 43 | struct _diva_dma_map_entry **ppmap, |
| 44 | int nentries); |
| 45 | void diva_free_dma_map(void *hdev, |
| 46 | struct _diva_dma_map_entry *pmap); |
| 47 | void *diva_get_entry_handle(struct _diva_dma_map_entry *pmap, int nr); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 48 | #endif |