isdn source code uses a not-current coding style. Update the coding style used on a per-line basis so that git diff -w shows only elided blank lines at EOF. Done with emacs and some scripts and some typing. Built x86 allyesconfig. No detected change in objdump -d or size. Signed-off-by: Joe Perches <joe@perches.com>
		
			
				
	
	
		
			308 lines
		
	
	
	
		
			11 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			308 lines
		
	
	
	
		
			11 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_XDI_COMMON_IO_H_INC__ /* { */
 | 
						|
#define __DIVA_XDI_COMMON_IO_H_INC__
 | 
						|
/*
 | 
						|
  maximum = 16 adapters
 | 
						|
*/
 | 
						|
#define DI_MAX_LINKS    MAX_ADAPTER
 | 
						|
#define ISDN_MAX_NUM_LEN 60
 | 
						|
/* --------------------------------------------------------------------------
 | 
						|
   structure for quadro card management (obsolete for
 | 
						|
   systems that do provide per card load event)
 | 
						|
   -------------------------------------------------------------------------- */
 | 
						|
typedef struct {
 | 
						|
	dword         Num;
 | 
						|
	DEVICE_NAME   DeviceName[4];
 | 
						|
	PISDN_ADAPTER QuadroAdapter[4];
 | 
						|
} ADAPTER_LIST_ENTRY, *PADAPTER_LIST_ENTRY;
 | 
						|
/* --------------------------------------------------------------------------
 | 
						|
   Special OS memory support structures
 | 
						|
   -------------------------------------------------------------------------- */
 | 
						|
#define MAX_MAPPED_ENTRIES 8
 | 
						|
typedef struct {
 | 
						|
	void *Address;
 | 
						|
	dword    Length;
 | 
						|
} ADAPTER_MEMORY;
 | 
						|
/* --------------------------------------------------------------------------
 | 
						|
   Configuration of XDI clients carried by XDI
 | 
						|
   -------------------------------------------------------------------------- */
 | 
						|
#define DIVA_XDI_CAPI_CFG_1_DYNAMIC_L1_ON      0x01
 | 
						|
#define DIVA_XDI_CAPI_CFG_1_GROUP_POPTIMIZATION_ON 0x02
 | 
						|
typedef struct _diva_xdi_capi_cfg {
 | 
						|
	byte cfg_1;
 | 
						|
} diva_xdi_capi_cfg_t;
 | 
						|
/* --------------------------------------------------------------------------
 | 
						|
   Main data structure kept per adapter
 | 
						|
   -------------------------------------------------------------------------- */
 | 
						|
struct _ISDN_ADAPTER {
 | 
						|
	void (*DIRequest)(PISDN_ADAPTER, ENTITY *);
 | 
						|
	int State; /* from NT4 1.srv, a good idea, but  a poor achievement */
 | 
						|
	int Initialized;
 | 
						|
	int RegisteredWithDidd;
 | 
						|
	int Unavailable;  /* callback function possible? */
 | 
						|
	int ResourcesClaimed;
 | 
						|
	int PnpBiosConfigUsed;
 | 
						|
	dword Logging;
 | 
						|
	dword features;
 | 
						|
	char ProtocolIdString[80];
 | 
						|
	/*
 | 
						|
	  remember mapped memory areas
 | 
						|
	*/
 | 
						|
	ADAPTER_MEMORY MappedMemory[MAX_MAPPED_ENTRIES];
 | 
						|
	CARD_PROPERTIES Properties;
 | 
						|
	dword cardType;
 | 
						|
	dword protocol_id;       /* configured protocol identifier */
 | 
						|
	char protocol_name[8];  /* readable name of protocol */
 | 
						|
	dword BusType;
 | 
						|
	dword BusNumber;
 | 
						|
	dword slotNumber;
 | 
						|
	dword slotId;
 | 
						|
	dword ControllerNumber;  /* for QUADRO cards only */
 | 
						|
	PISDN_ADAPTER MultiMaster;       /* for 4-BRI card only - use MultiMaster or QuadroList */
 | 
						|
	PADAPTER_LIST_ENTRY QuadroList;        /* for QUADRO card  only */
 | 
						|
	PDEVICE_OBJECT DeviceObject;
 | 
						|
	dword DeviceId;
 | 
						|
	diva_os_adapter_irq_info_t irq_info;
 | 
						|
	dword volatile IrqCount;
 | 
						|
	int trapped;
 | 
						|
	dword DspCodeBaseAddr;
 | 
						|
	dword MaxDspCodeSize;
 | 
						|
	dword downloadAddr;
 | 
						|
	dword DspCodeBaseAddrTable[4]; /* add. for MultiMaster */
 | 
						|
	dword MaxDspCodeSizeTable[4]; /* add. for MultiMaster */
 | 
						|
	dword downloadAddrTable[4]; /* add. for MultiMaster */
 | 
						|
	dword MemoryBase;
 | 
						|
	dword MemorySize;
 | 
						|
	byte __iomem *Address;
 | 
						|
	byte __iomem *Config;
 | 
						|
	byte __iomem *Control;
 | 
						|
	byte __iomem *reset;
 | 
						|
	byte __iomem *port;
 | 
						|
	byte __iomem *ram;
 | 
						|
	byte __iomem *cfg;
 | 
						|
	byte __iomem *prom;
 | 
						|
	byte __iomem *ctlReg;
 | 
						|
	struct pc_maint  *pcm;
 | 
						|
	diva_os_dependent_devica_name_t os_name;
 | 
						|
	byte Name[32];
 | 
						|
	dword serialNo;
 | 
						|
	dword ANum;
 | 
						|
	dword ArchiveType; /* ARCHIVE_TYPE_NONE ..._SINGLE ..._USGEN ..._MULTI */
 | 
						|
	char *ProtocolSuffix; /* internal protocolfile table */
 | 
						|
	char Archive[32];
 | 
						|
	char Protocol[32];
 | 
						|
	char AddDownload[32]; /* Dsp- or other additional download files */
 | 
						|
	char Oad1[ISDN_MAX_NUM_LEN];
 | 
						|
	char Osa1[ISDN_MAX_NUM_LEN];
 | 
						|
	char Oad2[ISDN_MAX_NUM_LEN];
 | 
						|
	char Osa2[ISDN_MAX_NUM_LEN];
 | 
						|
	char Spid1[ISDN_MAX_NUM_LEN];
 | 
						|
	char Spid2[ISDN_MAX_NUM_LEN];
 | 
						|
	byte nosig;
 | 
						|
	byte BriLayer2LinkCount; /* amount of TEI's that adapter will support in P2MP mode */
 | 
						|
	dword Channels;
 | 
						|
	dword tei;
 | 
						|
	dword nt2;
 | 
						|
	dword TerminalCount;
 | 
						|
	dword WatchDog;
 | 
						|
	dword Permanent;
 | 
						|
	dword BChMask; /* B channel mask for unchannelized modes */
 | 
						|
	dword StableL2;
 | 
						|
	dword DidLen;
 | 
						|
	dword NoOrderCheck;
 | 
						|
	dword ForceLaw; /* VoiceCoding - default:0, a-law: 1, my-law: 2 */
 | 
						|
	dword SigFlags;
 | 
						|
	dword LowChannel;
 | 
						|
	dword NoHscx30;
 | 
						|
	dword ProtVersion;
 | 
						|
	dword crc4;
 | 
						|
	dword L1TristateOrQsig; /* enable Layer 1 Tristate (bit 2)Or Qsig params (bit 0,1)*/
 | 
						|
	dword InitialDspInfo;
 | 
						|
	dword ModemGuardTone;
 | 
						|
	dword ModemMinSpeed;
 | 
						|
	dword ModemMaxSpeed;
 | 
						|
	dword ModemOptions;
 | 
						|
	dword ModemOptions2;
 | 
						|
	dword ModemNegotiationMode;
 | 
						|
	dword ModemModulationsMask;
 | 
						|
	dword ModemTransmitLevel;
 | 
						|
	dword FaxOptions;
 | 
						|
	dword FaxMaxSpeed;
 | 
						|
	dword Part68LevelLimiter;
 | 
						|
	dword UsEktsNumCallApp;
 | 
						|
	byte UsEktsFeatAddConf;
 | 
						|
	byte UsEktsFeatRemoveConf;
 | 
						|
	byte UsEktsFeatCallTransfer;
 | 
						|
	byte UsEktsFeatMsgWaiting;
 | 
						|
	byte QsigDialect;
 | 
						|
	byte ForceVoiceMailAlert;
 | 
						|
	byte DisableAutoSpid;
 | 
						|
	byte ModemCarrierWaitTimeSec;
 | 
						|
	byte ModemCarrierLossWaitTimeTenthSec;
 | 
						|
	byte PiafsLinkTurnaroundInFrames;
 | 
						|
	byte DiscAfterProgress;
 | 
						|
	byte AniDniLimiter[3];
 | 
						|
	byte TxAttenuation;  /* PRI/E1 only: attenuate TX signal */
 | 
						|
	word QsigFeatures;
 | 
						|
	dword GenerateRingtone;
 | 
						|
	dword SupplementaryServicesFeatures;
 | 
						|
	dword R2Dialect;
 | 
						|
	dword R2CasOptions;
 | 
						|
	dword FaxV34Options;
 | 
						|
	dword DisabledDspMask;
 | 
						|
	dword AdapterTestMask;
 | 
						|
	dword DspImageLength;
 | 
						|
	word AlertToIn20mSecTicks;
 | 
						|
	word ModemEyeSetup;
 | 
						|
	byte R2CtryLength;
 | 
						|
	byte CCBSRelTimer;
 | 
						|
	byte *PcCfgBufferFile;/* flexible parameter via file */
 | 
						|
	byte *PcCfgBuffer; /* flexible parameter via multistring */
 | 
						|
	diva_os_dump_file_t dump_file; /* dump memory to file at lowest irq level */
 | 
						|
	diva_os_board_trace_t board_trace; /* traces from the board */
 | 
						|
	diva_os_spin_lock_t isr_spin_lock;
 | 
						|
	diva_os_spin_lock_t data_spin_lock;
 | 
						|
	diva_os_soft_isr_t req_soft_isr;
 | 
						|
	diva_os_soft_isr_t isr_soft_isr;
 | 
						|
	diva_os_atomic_t  in_dpc;
 | 
						|
	PBUFFER RBuffer;        /* Copy of receive lookahead buffer */
 | 
						|
	word e_max;
 | 
						|
	word e_count;
 | 
						|
	E_INFO *e_tbl;
 | 
						|
	word assign;         /* list of pending ASSIGNs  */
 | 
						|
	word head;           /* head of request queue    */
 | 
						|
	word tail;           /* tail of request queue    */
 | 
						|
	ADAPTER a;             /* not a separate structure */
 | 
						|
	void (*out)(ADAPTER *a);
 | 
						|
	byte (*dpc)(ADAPTER *a);
 | 
						|
	byte (*tst_irq)(ADAPTER *a);
 | 
						|
	void (*clr_irq)(ADAPTER *a);
 | 
						|
	int (*load)(PISDN_ADAPTER);
 | 
						|
	int (*mapmem)(PISDN_ADAPTER);
 | 
						|
	int (*chkIrq)(PISDN_ADAPTER);
 | 
						|
	void (*disIrq)(PISDN_ADAPTER);
 | 
						|
	void (*start)(PISDN_ADAPTER);
 | 
						|
	void (*stop)(PISDN_ADAPTER);
 | 
						|
	void (*rstFnc)(PISDN_ADAPTER);
 | 
						|
	void (*trapFnc)(PISDN_ADAPTER);
 | 
						|
	dword (*DetectDsps)(PISDN_ADAPTER);
 | 
						|
	void (*os_trap_nfy_Fnc)(PISDN_ADAPTER, dword);
 | 
						|
	diva_os_isr_callback_t diva_isr_handler;
 | 
						|
	dword sdram_bar;  /* must be 32 bit */
 | 
						|
	dword fpga_features;
 | 
						|
	volatile int pcm_pending;
 | 
						|
	volatile void *pcm_data;
 | 
						|
	diva_xdi_capi_cfg_t capi_cfg;
 | 
						|
	dword tasks;
 | 
						|
	void *dma_map;
 | 
						|
	int (*DivaAdapterTestProc)(PISDN_ADAPTER);
 | 
						|
	void *AdapterTestMemoryStart;
 | 
						|
	dword AdapterTestMemoryLength;
 | 
						|
	const byte *cfg_lib_memory_init;
 | 
						|
	dword cfg_lib_memory_init_length;
 | 
						|
};
 | 
						|
/* ---------------------------------------------------------------------
 | 
						|
   Entity table
 | 
						|
   --------------------------------------------------------------------- */
 | 
						|
struct e_info_s {
 | 
						|
	ENTITY *e;
 | 
						|
	byte          next;                   /* chaining index           */
 | 
						|
	word          assign_ref;             /* assign reference         */
 | 
						|
};
 | 
						|
/* ---------------------------------------------------------------------
 | 
						|
   S-cards shared ram structure for loading
 | 
						|
   --------------------------------------------------------------------- */
 | 
						|
struct s_load {
 | 
						|
	byte ctrl;
 | 
						|
	byte card;
 | 
						|
	byte msize;
 | 
						|
	byte fill0;
 | 
						|
	word ebit;
 | 
						|
	word elocl;
 | 
						|
	word eloch;
 | 
						|
	byte reserved[20];
 | 
						|
	word signature;
 | 
						|
	byte fill[224];
 | 
						|
	byte b[256];
 | 
						|
};
 | 
						|
#define PR_RAM  ((struct pr_ram *)0)
 | 
						|
#define RAM ((struct dual *)0)
 | 
						|
/* ---------------------------------------------------------------------
 | 
						|
   platform specific conversions
 | 
						|
   --------------------------------------------------------------------- */
 | 
						|
extern void *PTR_P(ADAPTER *a, ENTITY *e, void *P);
 | 
						|
extern void *PTR_X(ADAPTER *a, ENTITY *e);
 | 
						|
extern void *PTR_R(ADAPTER *a, ENTITY *e);
 | 
						|
extern void CALLBACK(ADAPTER *a, ENTITY *e);
 | 
						|
extern void set_ram(void **adr_ptr);
 | 
						|
/* ---------------------------------------------------------------------
 | 
						|
   ram access functions for io mapped cards
 | 
						|
   --------------------------------------------------------------------- */
 | 
						|
byte io_in(ADAPTER *a, void *adr);
 | 
						|
word io_inw(ADAPTER *a, void *adr);
 | 
						|
void io_in_buffer(ADAPTER *a, void *adr, void *P, word length);
 | 
						|
void io_look_ahead(ADAPTER *a, PBUFFER *RBuffer, ENTITY *e);
 | 
						|
void io_out(ADAPTER *a, void *adr, byte data);
 | 
						|
void io_outw(ADAPTER *a, void *adr, word data);
 | 
						|
void io_out_buffer(ADAPTER *a, void *adr, void *P, word length);
 | 
						|
void io_inc(ADAPTER *a, void *adr);
 | 
						|
void bri_in_buffer(PISDN_ADAPTER IoAdapter, dword Pos,
 | 
						|
		   void *Buf, dword Len);
 | 
						|
int bri_out_buffer(PISDN_ADAPTER IoAdapter, dword Pos,
 | 
						|
		   void *Buf, dword Len, int Verify);
 | 
						|
/* ---------------------------------------------------------------------
 | 
						|
   ram access functions for memory mapped cards
 | 
						|
   --------------------------------------------------------------------- */
 | 
						|
byte mem_in(ADAPTER *a, void *adr);
 | 
						|
word mem_inw(ADAPTER *a, void *adr);
 | 
						|
void mem_in_buffer(ADAPTER *a, void *adr, void *P, word length);
 | 
						|
void mem_look_ahead(ADAPTER *a, PBUFFER *RBuffer, ENTITY *e);
 | 
						|
void mem_out(ADAPTER *a, void *adr, byte data);
 | 
						|
void mem_outw(ADAPTER *a, void *adr, word data);
 | 
						|
void mem_out_buffer(ADAPTER *a, void *adr, void *P, word length);
 | 
						|
void mem_inc(ADAPTER *a, void *adr);
 | 
						|
void mem_in_dw(ADAPTER *a, void *addr, dword *data, int dwords);
 | 
						|
void mem_out_dw(ADAPTER *a, void *addr, const dword *data, int dwords);
 | 
						|
/* ---------------------------------------------------------------------
 | 
						|
   functions exported by io.c
 | 
						|
   --------------------------------------------------------------------- */
 | 
						|
extern IDI_CALL Requests[MAX_ADAPTER];
 | 
						|
extern void     DIDpcRoutine(struct _diva_os_soft_isr *psoft_isr,
 | 
						|
			     void *context);
 | 
						|
extern void     request(PISDN_ADAPTER, ENTITY *);
 | 
						|
/* ---------------------------------------------------------------------
 | 
						|
   trapFn helpers, used to recover debug trace from dead card
 | 
						|
   --------------------------------------------------------------------- */
 | 
						|
typedef struct {
 | 
						|
	word *buf;
 | 
						|
	word  cnt;
 | 
						|
	word  out;
 | 
						|
} Xdesc;
 | 
						|
extern void dump_trap_frame(PISDN_ADAPTER IoAdapter, byte __iomem *exception);
 | 
						|
extern void dump_xlog_buffer(PISDN_ADAPTER IoAdapter, Xdesc *xlogDesc);
 | 
						|
/* --------------------------------------------------------------------- */
 | 
						|
#endif  /* } __DIVA_XDI_COMMON_IO_H_INC__ */
 |