49 lines
1.8 KiB
C
49 lines
1.8 KiB
C
|
|
||
|
/*
|
||
|
*
|
||
|
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
|