Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame^] | 1 | |
| 2 | /* |
| 3 | * |
| 4 | Copyright (c) Eicon Networks, 2002. |
| 5 | * |
| 6 | This source file is supplied for the use with |
| 7 | Eicon Networks range of DIVA Server Adapters. |
| 8 | * |
| 9 | Eicon File Revision : 2.1 |
| 10 | * |
| 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. |
| 15 | * |
| 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. |
| 20 | * |
| 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. |
| 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; |
| 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); |
| 38 | /* |
| 39 | Functionality to be implemented by OS wrapper |
| 40 | and running in process context |
| 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); |
| 48 | #endif |