| |
| /* |
| * |
| Copyright (c) Eicon Networks, 2002. |
| * |
| This source file is supplied for the use with |
| Eicon Networks range of DIVA Server Adapters. |
| * |
| Eicon File Revision : 2.1 |
| * |
| This program is free software; you can redistribute it and/or modify |
| it under the terms of the GNU General Public License as published by |
| the Free Software Foundation; either version 2, or (at your option) |
| any later version. |
| * |
| This program is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY OF ANY KIND WHATSOEVER INCLUDING ANY |
| implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| See the GNU General Public License for more details. |
| * |
| You should have received a copy of the GNU General Public License |
| along with this program; if not, write to the Free Software |
| Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
| * |
| */ |
| #ifndef __DIVA_DMA_MAPPING_IFC_H__ |
| #define __DIVA_DMA_MAPPING_IFC_H__ |
| typedef struct _diva_dma_map_entry diva_dma_map_entry_t; |
| struct _diva_dma_map_entry* diva_alloc_dma_map (void* os_context, int nentries); |
| void diva_init_dma_map_entry (struct _diva_dma_map_entry* pmap, |
| int nr, void* virt, dword phys, |
| void* addr_handle); |
| int diva_alloc_dma_map_entry (struct _diva_dma_map_entry* pmap); |
| void diva_free_dma_map_entry (struct _diva_dma_map_entry* pmap, int entry); |
| void diva_get_dma_map_entry (struct _diva_dma_map_entry* pmap, int nr, |
| void** pvirt, dword* pphys); |
| void diva_free_dma_mapping (struct _diva_dma_map_entry* pmap); |
| /* |
| Functionality to be implemented by OS wrapper |
| and running in process context |
| */ |
| void diva_init_dma_map (void* hdev, |
| struct _diva_dma_map_entry** ppmap, |
| int nentries); |
| void diva_free_dma_map (void* hdev, |
| struct _diva_dma_map_entry* pmap); |
| void* diva_get_entry_handle (struct _diva_dma_map_entry* pmap, int nr); |
| #endif |