From 6aed02d5dfaed373bf720a82834c82de83edd62a Mon Sep 17 00:00:00 2001 From: Karsten Keil Date: Tue, 3 Feb 1998 23:31:31 +0000 Subject: [PATCH] add AMD7930 support --- drivers/isdn/hisax/config.c | 11 +++++++++++ drivers/isdn/hisax/hisax.h | 31 +++++++++++++++++++++++++++++-- drivers/isdn/hisax/isdnl1.c | 14 +++++++++++++- 3 files changed, 53 insertions(+), 3 deletions(-) diff --git a/drivers/isdn/hisax/config.c b/drivers/isdn/hisax/config.c index d8e43af3..2730a1e9 100644 --- a/drivers/isdn/hisax/config.c +++ b/drivers/isdn/hisax/config.c @@ -5,6 +5,9 @@ * * * $Log$ + * Revision 2.8 1998/02/02 13:32:59 keil + * New card support + * * Revision 2.7 1998/01/31 21:41:44 keil * changes for newer 2.1 kernels * @@ -163,6 +166,13 @@ EXPORT_SYMBOL(elsa_init_pcmcia); #define DEFAULT_CFG {5,0x500,0,0} #endif +#ifdef CONFIG_HISAX_AMD7930 +#undef DEFAULT_CARD +#undef DEFAULT_CFG +#define DEFAULT_CARD ISDN_CTYPE_AMD7930 +#define DEFAULT_CFG {12,0x3e0,0,0} +#endif + #ifdef CONFIG_HISAX_1TR6 #define DEFAULT_PROTO ISDN_PTYPE_1TR6 #define DEFAULT_PROTO_NAME "1TR6" @@ -432,6 +442,7 @@ HiSax_init(void)) break; case ISDN_CTYPE_ELSA_PCI: case ISDN_CTYPE_NETJET: + case ISDN_CTYPE_AMD7930: break; } } diff --git a/drivers/isdn/hisax/hisax.h b/drivers/isdn/hisax/hisax.h index 7a0a305c..923dae4e 100644 --- a/drivers/isdn/hisax/hisax.h +++ b/drivers/isdn/hisax/hisax.h @@ -3,6 +3,9 @@ * Basic declarations, defines and prototypes * * $Log$ + * Revision 2.11 1998/02/02 13:33:00 keil + * New card support + * * Revision 2.10 1997/11/08 21:37:52 keil * new l1 init;new Compaq card * @@ -385,6 +388,18 @@ struct tiger_hw { u_char s_state; }; +struct amd7930_hw { + u_char *tx_buff; + u_char *rv_buff; + int rv_buff_in; + int rv_buff_out; + struct sk_buff *rv_skb; + struct hdlc_state *hdlc_state; + struct tq_struct tq_rcv; + struct tq_struct tq_xmt; + struct sk_buff *tx_skb; /* B-Channel transmit Buffer */ +}; + #define BC_FLG_INIT 1 #define BC_FLG_ACTIV 2 #define BC_FLG_BUSY 3 @@ -413,6 +428,7 @@ struct BCState { struct hscx_hw hscx; struct hfcB_hw hfc; struct tiger_hw tiger; + struct amd7930_hw amd7930; } hw; }; @@ -680,8 +696,12 @@ struct IsdnCardState { #define ISDN_CTYPE_ELSA_PCI 18 #define ISDN_CTYPE_COMPAQ_ISA 19 #define ISDN_CTYPE_NETJET 20 +#define ISDN_CTYPE_TELESPCI 21 +#define ISDN_CTYPE_SEDLPCMCIA 22 +#define ISDN_CTYPE_AMD7930 23 +#define ISDN_CTYPE_NICCY 24 -#define ISDN_CTYPE_COUNT 20 +#define ISDN_CTYPE_COUNT 24 #ifdef ISDN_CHIP_ISAC #undef ISDN_CHIP_ISAC @@ -811,10 +831,17 @@ struct IsdnCardState { #define CARD_TELES3C 0 #endif +#ifdef CONFIG_HISAX_AMD7930 +#define CARD_AMD7930 (1 << ISDN_CTYPE_AMD7930) +#else +#define CARD_AMD7930 0 +#endif + + #define SUPORTED_CARDS (CARD_TELES0 | CARD_TELES3 | CARD_AVM_A1 | CARD_ELSA \ | CARD_IX1MICROR2 | CARD_DIEHLDIVA | CARD_ASUSCOM \ | CARD_TELEINT | CARD_SEDLBAUER | CARD_SPORTSTER \ - | CARD_MIC | CARD_NETJET | CARD_TELES3C) + | CARD_MIC | CARD_NETJET | CARD_TELES3C | CARD_AMD7930) #define TEI_PER_CARD 0 diff --git a/drivers/isdn/hisax/isdnl1.c b/drivers/isdn/hisax/isdnl1.c index 3a774544..c67d8de5 100644 --- a/drivers/isdn/hisax/isdnl1.c +++ b/drivers/isdn/hisax/isdnl1.c @@ -11,6 +11,9 @@ * * * $Log$ + * Revision 2.13 1998/02/02 13:33:02 keil + * New card support + * * Revision 2.12 1998/01/31 21:41:48 keil * changes for newer 2.1 kernels * @@ -126,6 +129,10 @@ extern int setup_netjet(struct IsdnCard *card); extern int setup_t163c(struct IsdnCard *card); #endif +#if CARD_AMD7930 +extern int setup_amd7930(struct IsdnCard *card); +#endif + #define HISAX_STATUS_BUFSIZE 4096 #define ISDN_CTRL_DEBUG 1 #define INCLUDE_INLINE_FUNCS @@ -136,7 +143,7 @@ const char *CardType[] = "AVM A1", "Elsa ML", "Elsa Quickstep", "Teles PCMCIA", "ITK ix1-micro Rev.2", "Elsa PCMCIA", "Eicon.Diehl Diva", "ISDNLink", "TeleInt", "Teles 16.3c", "Sedlbauer Speed Card", "USR Sportster", "ith mic Linux", "Elsa PCI", - "Compaq ISA", "NETjet" + "Compaq ISA", "NETjet", "Teles PCI", "Sedlbauer PCMCIA", "AMD 7930", "NICCY" }; extern struct IsdnCard cards[]; @@ -809,6 +816,11 @@ checkcard(int cardnr, char *id, int *busy_flag)) case ISDN_CTYPE_TELES3C: ret = setup_t163c(card); break; +#endif +#if CARD_AMD7930 + case ISDN_CTYPE_AMD7930: + ret = setup_amd7930(card); + break; #endif default: printk(KERN_WARNING "HiSax: Unknown Card Typ %d\n",