1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- /* $Id: xdi_adapter.h,v 1.7 2004/03/21 17:26:01 armin Exp $ */
- #ifndef __DIVA_OS_XDI_ADAPTER_H__
- #define __DIVA_OS_XDI_ADAPTER_H__
- #define DIVAS_XDI_ADAPTER_BUS_PCI 0
- #define DIVAS_XDI_ADAPTER_BUS_ISA 1
- typedef struct _divas_pci_card_resources {
- byte bus;
- byte func;
- void *hdev;
- dword bar[8]; /* contains context of appropriate BAR Register */
- void __iomem *addr[8]; /* same bar, but mapped into memory */
- dword length[8]; /* bar length */
- int mem_type_id[MAX_MEM_TYPE];
- unsigned int qoffset;
- byte irq;
- } divas_pci_card_resources_t;
- typedef union _divas_card_resources {
- divas_pci_card_resources_t pci;
- } divas_card_resources_t;
- struct _diva_os_xdi_adapter;
- typedef int (*diva_init_card_proc_t) (struct _diva_os_xdi_adapter * a);
- typedef int (*diva_cmd_card_proc_t) (struct _diva_os_xdi_adapter * a,
- diva_xdi_um_cfg_cmd_t * data,
- int length);
- typedef void (*diva_xdi_clear_interrupts_proc_t) (struct
- _diva_os_xdi_adapter *);
- #define DIVA_XDI_MBOX_BUSY 1
- #define DIVA_XDI_MBOX_WAIT_XLOG 2
- typedef struct _xdi_mbox_t {
- dword status;
- diva_xdi_um_cfg_cmd_data_t cmd_data;
- dword data_length;
- void *data;
- } xdi_mbox_t;
- typedef struct _diva_os_idi_adapter_interface {
- diva_init_card_proc_t cleanup_adapter_proc;
- diva_cmd_card_proc_t cmd_proc;
- } diva_os_idi_adapter_interface_t;
- typedef struct _diva_os_xdi_adapter {
- struct list_head link;
- int CardIndex;
- int CardOrdinal;
- int controller; /* number of this controller */
- int Bus; /* PCI, ISA, ... */
- divas_card_resources_t resources;
- char port_name[24];
- ISDN_ADAPTER xdi_adapter;
- xdi_mbox_t xdi_mbox;
- diva_os_idi_adapter_interface_t interface;
- struct _diva_os_xdi_adapter *slave_adapters[3];
- void *slave_list;
- void *proc_adapter_dir; /* adapterX proc entry */
- void *proc_info; /* info proc entry */
- void *proc_grp_opt; /* group_optimization */
- void *proc_d_l1_down; /* dynamic_l1_down */
- volatile diva_xdi_clear_interrupts_proc_t clear_interrupts_proc;
- dword dsp_mask;
- } diva_os_xdi_adapter_t;
- #endif
|