[dahdi-commits] dahdi/linux.git branch "master" updated.

SVN commits to the DAHDI project dahdi-commits at lists.digium.com
Thu Mar 28 14:16:20 CDT 2013


branch "master" has been updated
       via  300446b1a1c8e17eb0cd12c0bb837e61c4c20a28 (commit)
       via  949aa4958fae97fe64b17aadc0577e2d5f957fbe (commit)
      from  a34b846f613d4be94cc764ee14b470a450bf65ae (commit)

Summary of changes:
 drivers/dahdi/xpp/card_fxo.c               |  130 ++++++-
 drivers/dahdi/xpp/firmwares/PIC_TYPE_2.hex |  564 +++++++++++++++-------------
 drivers/dahdi/xpp/init_card_2_30           |    3 +
 3 files changed, 421 insertions(+), 276 deletions(-)


- Log -----------------------------------------------------------------
commit 300446b1a1c8e17eb0cd12c0bb837e61c4c20a28
Author: Oron Peled <oron.peled at xorcom.com>
Date:   Thu Mar 14 17:01:32 2013 +0200

    xpp: FXO: new CID style -- passthrough
    
    Adds support for setting a value of 3 to the module parameter
    caller_id_style: passthrough - always pass and don't try to emulate
    DTMFs.
    
    Signed-off-by: Tzafrir Cohen <tzafrir.cohen at xorcom.com>

diff --git a/drivers/dahdi/xpp/card_fxo.c b/drivers/dahdi/xpp/card_fxo.c
index 987f54c..2f2cd40 100644
--- a/drivers/dahdi/xpp/card_fxo.c
+++ b/drivers/dahdi/xpp/card_fxo.c
@@ -45,7 +45,11 @@ static DEF_PARM(uint, poll_metering_interval, 500, 0644,
 static DEF_PARM(int, ring_debounce, 50, 0644,
 		"Number of ticks to debounce a false RING indication");
 static DEF_PARM(int, caller_id_style, 0, 0444,
-		"Caller-Id detection style: 0 - [BELL], 1 - [ETSI_FSK], 2 - [ETSI_DTMF]");
+		"Caller-Id detection style: "
+		"0 - [BELL], "
+		"1 - [ETSI_FSK], "
+		"2 - [ETSI_DTMF], "
+		"3 - [PASSTHROUGH]");
 static DEF_PARM(int, power_denial_safezone, 650, 0644,
 		"msec after offhook to ignore power-denial ( (0 - disable power-denial)");
 static DEF_PARM(int, power_denial_minlen, 80, 0644,
@@ -59,6 +63,8 @@ enum cid_style {
 	CID_STYLE_BELL = 0,	/* E.g: US (Bellcore) */
 	CID_STYLE_ETSI_FSK = 1,	/* E.g: UK (British Telecom) */
 	CID_STYLE_ETSI_DTMF = 2,	/* E.g: DK, Russia */
+	CID_STYLE_PASSTHROUGH = 3,	/* No change: Let asterisk  */
+					/* (>= 1.8) DSP handle this */
 };
 
 /* Signaling is opposite (fxs signalling for fxo card) */
@@ -393,8 +399,14 @@ static int do_sethook(xpd_t *xpd, int pos, bool to_offhook)
 	    DAA_DIRECT_REQUEST(xbus, xpd, pos, DAA_WRITE, REG_DAA_CONTROL1,
 			       value);
 	mark_offhook(xpd, pos, to_offhook);
-	if (caller_id_style != CID_STYLE_ETSI_DTMF)
+	switch (caller_id_style) {
+	case CID_STYLE_ETSI_DTMF:
+	case CID_STYLE_PASSTHROUGH:
+		break;
+	default:
 		oht_pcm(xpd, pos, 0);
+		break;
+	}
 #ifdef	WITH_METERING
 	priv->metering_count[pos] = 0;
 	priv->metering_tone_state = 0L;
@@ -524,8 +536,12 @@ static int FXO_card_init(xbus_t *xbus, xpd_t *xpd)
 		priv->battery[i] = BATTERY_UNKNOWN;
 		/* will be updated on next battery sample */
 		priv->power[i] = POWER_UNKNOWN;
-		if (caller_id_style == CID_STYLE_ETSI_DTMF)
+		switch (caller_id_style) {
+		case CID_STYLE_ETSI_DTMF:
+		case CID_STYLE_PASSTHROUGH:
 			oht_pcm(xpd, i, 1);
+			break;
+		}
 		priv->polarity_last_interval[i] = POLARITY_LAST_INTERVAL_NONE;
 	}
 	XPD_DBG(GENERAL, xpd, "done\n");

commit 949aa4958fae97fe64b17aadc0577e2d5f957fbe
Author: Oron Peled <oron.peled at xorcom.com>
Date:   Thu Feb 28 18:40:28 2013 +0200

    xpp: FXO: in-firmware polarity-reversal detection
    
    PIC_TYPE_2 rev.11039 adds support for polarity reversal detection. Support
    those messages.
    
    Signed-off-by: Tzafrir Cohen <tzafrir.cohen at xorcom.com>

diff --git a/drivers/dahdi/xpp/card_fxo.c b/drivers/dahdi/xpp/card_fxo.c
index b578ad3..987f54c 100644
--- a/drivers/dahdi/xpp/card_fxo.c
+++ b/drivers/dahdi/xpp/card_fxo.c
@@ -36,6 +36,8 @@ static const char rcsid[] = "$Id$";
 static DEF_PARM(int, debug, 0, 0644, "Print DBG statements");
 static DEF_PARM(uint, poll_battery_interval, 500, 0644,
 		"Poll battery interval in milliseconds (0 - disable)");
+static DEF_PARM_BOOL(use_polrev_firmware, 1, 0444,
+		"Use firmware reports of polarity reversal");
 #ifdef	WITH_METERING
 static DEF_PARM(uint, poll_metering_interval, 500, 0644,
 		"Poll metering interval in milliseconds (0 - disable)");
@@ -103,6 +105,7 @@ static int proc_xpd_metering_read(char *page, char **start, off_t off,
 #endif
 #endif
 static void dahdi_report_battery(xpd_t *xpd, lineno_t chan);
+static void report_polarity_reversal(xpd_t *xpd, xportno_t portno);
 
 #define	PROC_REGISTER_FNAME	"slics"
 #define	PROC_FXO_INFO_FNAME	"fxo_info"
@@ -110,6 +113,10 @@ static void dahdi_report_battery(xpd_t *xpd, lineno_t chan);
 #define	PROC_METERING_FNAME	"metering_read"
 #endif
 
+#define	REG_INTERRUPT_SRC	0x04	/*  4 -  Interrupt Source  */
+#define	REG_INTERRUPT_SRC_POLI	BIT(0)	/*  Polarity Reversal Detect Interrupt*/
+#define	REG_INTERRUPT_SRC_RING	BIT(7)	/*  Ring Detect Interrupt */
+
 #define	REG_DAA_CONTROL1	0x05	/*  5 -  DAA Control 1  */
 #define	REG_DAA_CONTROL1_OH	BIT(0)	/* Off-Hook.            */
 #define	REG_DAA_CONTROL1_ONHM	BIT(3)	/* On-Hook Line Monitor */
@@ -148,6 +155,9 @@ struct FXO_priv_data {
 	ushort nobattery_debounce[CHANNELS_PERXPD];
 	enum polarity_state polarity[CHANNELS_PERXPD];
 	ushort polarity_debounce[CHANNELS_PERXPD];
+	int  polarity_last_interval[CHANNELS_PERXPD];
+#define	POLARITY_LAST_INTERVAL_NONE	(-1)
+#define	POLARITY_LAST_INTERVAL_MAX	40
 	enum power_state power[CHANNELS_PERXPD];
 	ushort power_denial_delay[CHANNELS_PERXPD];
 	ushort power_denial_length[CHANNELS_PERXPD];
@@ -345,6 +355,7 @@ static void mark_ring(xpd_t *xpd, lineno_t pos, bool on, bool update_dahdi)
 			MARK_BLINK(priv, pos, LED_GREEN, 0);
 		if (update_dahdi)
 			update_dahdi_ring(xpd, pos, on);
+		priv->polarity_last_interval[pos] = POLARITY_LAST_INTERVAL_NONE;
 	}
 }
 
@@ -515,6 +526,7 @@ static int FXO_card_init(xbus_t *xbus, xpd_t *xpd)
 		priv->power[i] = POWER_UNKNOWN;
 		if (caller_id_style == CID_STYLE_ETSI_DTMF)
 			oht_pcm(xpd, i, 1);
+		priv->polarity_last_interval[i] = POLARITY_LAST_INTERVAL_NONE;
 	}
 	XPD_DBG(GENERAL, xpd, "done\n");
 	for_each_line(xpd, i) {
@@ -684,6 +696,20 @@ static void handle_fxo_ring(xpd_t *xpd)
 
 	priv = xpd->priv;
 	for_each_line(xpd, i) {
+		if (use_polrev_firmware) {
+			int *t = &priv->polarity_last_interval[i];
+			if (*t != POLARITY_LAST_INTERVAL_NONE) {
+				(*t)++;
+				if (*t > POLARITY_LAST_INTERVAL_MAX) {
+					LINE_DBG(SIGNAL, xpd, i,
+						"polrev(GOOD): %d msec\n", *t);
+					*t = POLARITY_LAST_INTERVAL_NONE;
+					if (use_polrev_firmware)
+						report_polarity_reversal(xpd,
+								i);
+				}
+			}
+		}
 		if (atomic_read(&priv->ring_debounce[i]) > 0) {
 			/* Maybe start ring */
 			if (atomic_dec_and_test(&priv->ring_debounce[i]))
@@ -951,6 +977,23 @@ HANDLER_DEF(FXO, SIG_CHANGED)
 	return 0;
 }
 
+static void report_polarity_reversal(xpd_t *xpd, xportno_t portno)
+{
+	/*
+	 * Inform dahdi/Asterisk:
+	 * 1. Maybe used for hangup detection during offhook
+	 * 2. In some countries used to report caller-id
+	 *    during onhook but before first ring.
+	 */
+	if (caller_id_style == CID_STYLE_ETSI_FSK)
+		/* will be cleared on ring/offhook */
+		oht_pcm(xpd, portno, 1);
+	if (SPAN_REGISTERED(xpd)) {
+		LINE_DBG(SIGNAL, xpd, portno, "Send DAHDI_EVENT_POLARITY\n");
+		dahdi_qevent_lock(XPD_CHAN(xpd, portno), DAHDI_EVENT_POLARITY);
+	}
+}
+
 static void update_battery_voltage(xpd_t *xpd, __u8 data_low,
 	xportno_t portno)
 {
@@ -1048,22 +1091,8 @@ static void update_battery_voltage(xpd_t *xpd, __u8 data_low,
 				BUG();
 			LINE_DBG(SIGNAL, xpd, portno,
 				 "Polarity changed to %s\n", polname);
-			/*
-			 * Inform dahdi/Asterisk:
-			 * 1. Maybe used for hangup detection during offhook
-			 * 2. In some countries used to report caller-id
-			 *    during onhook but before first ring.
-			 */
-			if (caller_id_style == CID_STYLE_ETSI_FSK)
-				/* will be cleared on ring/offhook */
-				oht_pcm(xpd, portno, 1);
-			if (SPAN_REGISTERED(xpd)) {
-				LINE_DBG(SIGNAL, xpd, portno,
-					 "Send DAHDI_EVENT_POLARITY: %s\n",
-					 polname);
-				dahdi_qevent_lock(XPD_CHAN(xpd, portno),
-						  DAHDI_EVENT_POLARITY);
-			}
+			if (!use_polrev_firmware)
+				report_polarity_reversal(xpd, portno);
 		}
 		priv->polarity[portno] = pol;
 	}
@@ -1146,6 +1175,50 @@ static void update_metering_state(xpd_t *xpd, __u8 data_low, lineno_t portno)
 }
 #endif
 
+static void got_chip_interrupt(xpd_t *xpd, __u8 data_low,
+	xportno_t portno)
+{
+	struct FXO_priv_data *priv;
+	int t;
+
+	if (!use_polrev_firmware)
+		return;
+	priv = xpd->priv;
+	LINE_DBG(SIGNAL, xpd, portno, "mask=0x%X\n", data_low);
+	if (!(data_low & REG_INTERRUPT_SRC_POLI))
+		return;
+	t = priv->polarity_last_interval[portno];
+	if (PHONEDEV(xpd).ringing[portno]) {
+		priv->polarity_last_interval[portno] =
+			POLARITY_LAST_INTERVAL_NONE;
+		LINE_DBG(SIGNAL, xpd, portno,
+			"polrev(false): %d msec (while ringing)\n", t);
+	} else if (data_low & REG_INTERRUPT_SRC_RING) {
+		priv->polarity_last_interval[portno] =
+			POLARITY_LAST_INTERVAL_NONE;
+		LINE_DBG(SIGNAL, xpd, portno,
+			"polrev(false): %d msec (with chip-interrupt ring)\n",
+			t);
+	} else if (t == POLARITY_LAST_INTERVAL_NONE) {
+		priv->polarity_last_interval[portno] = 0;
+		LINE_DBG(SIGNAL, xpd, portno,
+			"polrev(start)\n");
+	} else if (t < POLARITY_LAST_INTERVAL_MAX) {
+		/*
+		 * Start counting upward from -POLARITY_LAST_INTERVAL_MAX
+		 * Until we reach POLARITY_LAST_INTERVAL_NONE.
+		 * This way we filter bursts of false reports we get
+		 * during ringing.
+		 */
+		priv->polarity_last_interval[portno] =
+			POLARITY_LAST_INTERVAL_NONE -
+			POLARITY_LAST_INTERVAL_MAX;
+		LINE_DBG(SIGNAL, xpd, portno,
+			"polrev(false): %d msec (interval shorter than %d)\n",
+			t, POLARITY_LAST_INTERVAL_MAX);
+	}
+}
+
 static int FXO_card_register_reply(xbus_t *xbus, xpd_t *xpd, reg_cmd_t *info)
 {
 	struct FXO_priv_data *priv;
@@ -1155,6 +1228,9 @@ static int FXO_card_register_reply(xbus_t *xbus, xpd_t *xpd, reg_cmd_t *info)
 	BUG_ON(!priv);
 	portno = info->portnum;
 	switch (REG_FIELD(info, regnum)) {
+	case REG_INTERRUPT_SRC:
+		got_chip_interrupt(xpd, REG_FIELD(info, data_low), portno);
+		break;
 	case DAA_REG_VBAT:
 		update_battery_voltage(xpd, REG_FIELD(info, data_low), portno);
 		break;
diff --git a/drivers/dahdi/xpp/firmwares/PIC_TYPE_2.hex b/drivers/dahdi/xpp/firmwares/PIC_TYPE_2.hex
index 01f507b..bc3e302 100644
--- a/drivers/dahdi/xpp/firmwares/PIC_TYPE_2.hex
+++ b/drivers/dahdi/xpp/firmwares/PIC_TYPE_2.hex
@@ -1,5 +1,5 @@
 #        
-# $Id: PIC_TYPE_2.hex 9732 2011-08-24 19:13:55Z dima $
+# $Id: PIC_TYPE_2.hex 11039 2013-03-07 11:02:16Z dima $
 #
 :03000000A57A4896
 :03000100C41C41DB
@@ -96,265 +96,315 @@
 :03005C001CCC2099
 :03005D00E07180CF
 :03005E0002CE705F
-:03005F00206743D4
-:0300600090AA70F3
-:03006100205C021E
-:03006200D2018048
-:03006300D40E07B1
-:0300640003D6437D
-:03006500C1CA739A
-:03006600022C0366
-:03006700C0018055
-:03006800024E073E
-:0300690021D6435A
-:03006A00030A7313
-:03006B00901C04E2
-:03006C00202180D0
-:03006D00030E0778
-:03006E00901643A6
-:03006F00204A73B1
-:03007000030C017D
-:03007100901038B4
-:03007200210A72EE
-:03007300024C1824
-:03007400C0303861
-:0300750008421925
-:03007600603E0FDA
-:03007700A7A0221D
-:03007800209C00C9
-:03007900A7C038E5
-:03007A00C00200C1
-:03007B00A7CE0706
-:03007C00187F02E8
-:03007D0014974392
-:03007E00643A835E
-:03007F00AABC0018
-:030080001A7031C2
-:03008100C50C1299
-:03008200039A904E
-:030083007992006F
-:03008400A83E078C
-:0300850020BF0396
-:03008600D007435D
-:03008700038A8C5D
-:03008800219C00B8
-:03008900E07031F3
-:03008A00348C189B
-:03008B00348A9024
-:03008C00348C00B1
-:03008D003480318B
-:03008E00030C164A
-:03008F00206A9054
-:0300900034803B7E
+:03005F0020074334
+:03006000022A7001
+:03006100206C020E
+:0300620064318086
+:03006300A68E075F
+:03006400322643FE
+:030065002C8A736F
+:03006600D00C03B8
+:03006700A621804F
+:03006800C01E07B0
+:0300690014264317
+:03006A00743A7372
+:03006B00AC5C0486
+:03006C0020618090
+:03006D0090AE074B
+:03006E00205643D6
+:03006F00D20A733F
+:03007000D40C01AC
+:0300710003D03881
+:03007200C04A720F
+:03007300022C1844
+:03007400C0003891
+:030075000242192B
+:0300760021DE0F79
+:0300770003002261
+:03007800901C00D9
+:030079002020380C
+:03007A000302007E
+:03007B00901E07CD
+:03007C00204F0210
+:03007D0003074333
+:03007E00901A8352
+:03007F00210C0051
+:03008000E010315C
+:03008100643C12CA
+:03008200AC5A90E5
+:0300830021020057
+:03008400024E0722
+:03008500E80F037E
+:0300860074374389
+:03008700AB2A8C15
+:03008800C50C00A4
+:03008900039031B0
+:03008A00799C1846
+:03008B00A8AA9090
+:03008C0020BC0095
+:03008D00D000316F
+:03008E00038C16CA
+:03008F00219A9023
+:03009000E0703BE2
 :03009100348E0F9B
 :0300920034808235
 :03009300348703AC
-:03009400D05A9AA5
-:03009500031C0F3A
-:03009600C00FFF99
-:0300970003215BE7
-:030098000331022F
-:03009900C70A9BF8
-:03009A0003921BB3
-:03009B00C500306D
-:03009C00039E0FB1
-:03009D00C1C03BA4
-:03009E00030C024E
-:03009F00C0003965
-:0300A000031C003E
-:0300A100204039C3
-:0300A200032C80AC
-:0300A300C00D0885
-:0300A400033039ED
-:0300A500C70C0085
-:0300A6000390398B
-:0300A700C50C4045
-:0300A80003903989
-:0300A900C407D9B0
-:0300AA00039AA90D
-:0300AB0020CC0066
-:0300AC0074302687
-:0300AD00B1702708
-:0300AE00C0002B64
-:0300AF00024020EC
-:0300B000C05C032E
-:0300B10002202CFE
-:0300B200205C20AF
-:0300B300D20D80EB
-:0300B400D4002550
-:0300B50003DC2049
-:0300B60021D02432
-:0300B700030C0037
-:0300B80090102283
-:0300B900202205FD
-:0300BA0003003010
-:0300BB0090190198
-:0300BC00204204DB
+:03009400348A9A11
+:03009500030C0F4A
+:03009600206FFFD9
+:0300970034815B56
+:03009800348102AE
+:03009900348A9B0B
+:03009A0034821B92
+:03009B00D0503012
+:03009C00031E0F31
+:03009D00C0003B65
+:03009E00032C022E
+:03009F00033039F2
+:0300A000C70C008A
+:0300A10003903990
+:0300A200C50C800A
+:0300A300039D08B2
+:0300A400C0403920
+:0300A500030C0049
+:0300A600C000395E
+:0300A700031C40F7
+:0300A800204039BC
+:0300A9000327D951
+:0300AA00C00AA9E0
+:0300AB00033C0013
+:0300AC00C7002664
+:0300AD0003902796
+:0300AE00C5002B5F
+:0300AF000390209B
+:0300B000C40C037A
+:0300B10003902C8D
+:0300B200C40C205B
+:0300B300FFFD80CE
+:0300B400165025BE
+:0300B500D20C204A
+:0300B60003D02450
+:0300B700C04C003A
+:0300B80002202201
+:0300B900C002057D
+:0300BA00150030FE
+:0300BB00024901F6
+:0300BC0021D2044A
 :0300BD000300300D
 :0300BE0090190195
-:0300BF00C012026A
-:0300C000150030F8
-:0300C100024901F0
-:0300C20021AC402E
-:0300C3009420394D
-:0300C400202C01EC
-:0300C50003A0375E
-:0300C600206C604B
-:0300C7007432C8C8
-:0300C800AD5AC767
-:0300C900C9FC006F
-:0300CA0016B03736
-:0300CB00C006D993
-:0300CC006B0AD0EC
-:0300CD00D206F95F
-:0300CE006D0B4D6A
-:0300CF00D40ACB85
-:0300D00012B94022
-:0300D100C80C2038
-:0300D2001AB195CB
-:0300D30020B64311
-:0300D400038ADFBD
-:0300D500206C019B
-:0300D60002A1DFA5
-:0300D700C0409B8B
-:0300D800086703B3
-:0300D900703ADF9B
-:0300DA00ADE7D3BC
-:0300DB00C00B480F
-:0300DC00024CFFD4
-:0300DD00AE202230
-:0300DE00C04B2AEA
-:0300DF000AA21F53
-:0300E000C0290A2A
-:0300E100024C20AE
-:0300E200917125F4
-:0300E300C016D371
-:0300E40003EAEA42
-:0300E500206C206C
-:0300E600643095EE
-:0300E700AEB6436F
-:0300E80037EAF202
-:0300E9002C8AEF6F
-:0300EA00AE8C4099
-:0300EB00C6012526
-:0300EC00150C00F0
-:0300ED0074302448
-:0300EE00AFFB1A4B
-:0300EF0021E217F4
-:0300F0001AF024DF
-:0300F10014FB1AE3
-:0300F200743C401B
-:0300F300B17105E3
-:0300F400C0403DCC
-:0300F500124C00AA
-:0300F600917024E2
-:0300F700C0021D27
-:0300F80002403093
-:0300F900200901DA
-:0300FA0094221538
-:0300FB0020203092
-:0300FC00020901F5
-:0300FD00035204A7
-:0300FE00B17030AE
-:0300FF00CFF90135
-:0301000019E210F1
-:0301010016F024D1
-:03010200C037F70C
-:03010300081B0BCB
-:03010400743C0246
-:03010500B0EFFF59
-:03010600C01164C1
-:03010700024C02A5
-:030108002001577C
-:030109009421241A
-:03010A00202B1790
-:03010B000207D711
-:03010C00035B177B
-:03010D00B17C01C1
-:03010E00C00FFF20
-:03010F0018116460
-:03011000643C014B
-:030111006B015728
-:03011200B14124D4
-:03011300B17B17A6
-:03011400C01217FF
-:0301150012402471
-:03011600917B17C3
-:03011700369C0211
-:03011800C01D0106
-:030119001E616400
-:03011A0021BC8085
-:03011B000866F380
-:03011C0074312516
-:03011D00A57205C3
-:03011E000260304C
-:03011F00C02901F3
-:03012000FFF215D6
-:0301210016B030E5
-:03012200C02901F0
-:0301230023A20410
-:0301240074303004
-:0301250012B9010B
-:0301260020B7D32C
-:03012700038B48FF
-:03012800C44210BE
-:030129000390221E
-:03012A00C40C50B2
-:03012B0003903905
-:03012C00C0079970
-:03012D00023B2C66
-:03012E00AC2212EE
-:03012F00B2F030FB
-:03013000000214B6
-:030131000000319A
-:03013200000213B5
-:0301330000003297
-:03013400000C00BC
-:0301350000003394
-:03013600000C704A
-:030137000000398C
-:03013800000C5068
-:030139000000398A
-:03013A00000215AB
-:03013B0000003091
-:03013C00000C00B4
-:03013D000000318E
-:03013E00000202BA
-:03013F000000328B
-:03014000000C00B0
-:0301410000003388
-:03014200000C703E
-:0301430000003980
-:03014400000C505C
-:030145000000397E
-:03014600000C406A
-:030147000000397C
-:03014800000C00A8
-:030149000000397A
-:03014A00000C00A6
-:03014B00000C00A5
-:03014C00000AC2E4
-:03014D00000C00A3
-:03014E0000002589
-:03014F00000C1091
-:0301500000003D6F
-:030151000009178B
-:03015200000C049A
-:0301530000002584
-:03015400000C009C
-:0301550000003D6A
-:0301560000091786
-:03015700000C0297
-:030158000000257F
-:03015900000C088F
-:03015A0000003D65
-:03015B0000091781
-:03015C00000C0094
-:03015D0000002679
-:03015E00000C0191
-:03015F0000002974
-:03016000000C2070
-:0301610000002378
-:03016200000A0090
-:03016300000B632B
+:0300BF00202202FA
+:0300C0000300300A
+:0300C10090190192
+:0300C200204C408F
+:0300C300030039FE
+:0300C400901C018C
+:0300C50020603781
+:0300C60090AC609B
+:0300C7002052C8FC
+:0300C800D20AC792
+:0300C900D40C0054
+:0300CA0003D03729
+:0300CB00C1C6D9D2
+:0300CC00022AD035
+:0300CD00C006F971
+:0300CE00024B4D95
+:0300CF0021DACB68
+:0300D000030940E1
+:0300D100901C2060
+:0300D20020219555
+:0300D300030643DE
+:0300D400901ADFA0
+:0300D500204C01BB
+:0300D6000301DF44
+:0300D70090109BEB
+:0300D800210703FA
+:0300D900024ADFF9
+:0300DA00C037D359
+:0300DB00084B4887
+:0300DC00603CFF86
+:0300DD00AE002250
+:0300DE00209B2A3A
+:0300DF00AE221F2F
+:0300E000C0090A4A
+:0300E100AE2C2022
+:0300E2001871256D
+:0300E3001496D39D
+:0300E400643AEA91
+:0300E500B11C202B
+:0300E6001A7095F8
+:0300E700C5064308
+:0300E800039AF286
+:0300E900799AEF12
+:0300EA00AE9C4089
+:0300EB0020B1251C
+:0300EC00D00C0035
+:0300ED0003802469
+:0300EE00219B1A39
+:0300EF00E07217A5
+:0300F00034802435
+:0300F100348B1A33
+:0300F200348C400B
+:0300F30034810550
+:0300F40003003DC9
+:0300F500206C007C
+:0300F6003480242F
+:0300F70034821D33
+:0300F80034803021
+:0300F90034890146
+:0300FA00D05215CC
+:0300FB00031030BF
+:0300FC00C0090137
+:0300FD00032204D7
+:0300FE000330309C
+:0300FF00C709012D
+:0301000003921057
+:03010100C5002412
+:030102000397F769
+:03010300C1CB0B62
+:03010400030C02E7
+:03010500C00FFF29
+:030106000311647E
+:03010700204C0287
+:0301080003215779
+:03010900C001240E
+:03010A00033B179D
+:03010B00C707D74C
+:03010C00039B173B
+:03010D00C50C011D
+:03010E00039FFF4D
+:03010F00C40164C4
+:03011000039C014C
+:0301110020C157B3
+:0301120074312421
+:03011300B7DB1740
+:03011400C002170F
+:0301150002402481
+:03011600C05B17B4
+:03011700022C02B5
+:03011800205D0166
+:03011900D20164AC
+:03011A00D40C8082
+:03011B0003D6F315
+:03011C0021D125C9
+:03011D00030205D5
+:03011E009010300E
+:03011F0020290193
+:03012000030215C2
+:030121009010300B
+:0301220020490170
+:03012300030204D0
+:0301240090103008
+:03012500C01901FD
+:030126001507D3E7
+:03012700024B4840
+:0301280021A21001
+:03012900942022FD
+:03012A00202C5036
+:03012B0003A039F5
+:03012C00206799B0
+:03012D00743B2CF4
+:03012E00B3B21257
+:03012F00C9F030E4
+:0301300016B214F0
+:03013100C00031DA
+:030132006B02134A
+:03013300D20032C5
+:030134006D0C004F
+:03013500D40033C0
+:0301360012BC7088
+:03013700C80039C4
+:030138001ABC509E
+:0301390020B039BA
+:03013A0003821528
+:03013B0020603011
+:03013C0002AC0012
+:03013D00C040318E
+:03013E0008620252
+:03013F00703032EB
+:03014000B44C00BC
+:03014100C00033C8
+:03014200024C70FC
+:03014300B480394C
+:03014400C04C505C
+:030145000AA039D4
+:03014600C02C408A
+:030147000240393A
+:03014800917C00A7
+:03014900C01039AA
+:03014A0003EC00C3
+:03014B00206C0025
+:03014C00643AC250
+:03014D00B51C00DE
+:03014E0037E02572
+:03014F002C8C10E5
+:03015000B4E03DDB
+:03015100C60917C5
+:03015200150C0485
+:03015300743025E0
+:03015400B65C0096
+:0301550021E03D69
+:030156001AF9177C
+:0301570014FC0293
+:03015800743025DB
+:03015900B7DC0808
+:03015A00C0403D65
+:03015B001249172F
+:03015C00917C0093
+:03015D00C00026B9
+:03015E00024C014F
+:03015F0020002954
+:03016000942C20BC
+:0301610020202338
+:03016200020A008E
+:03016300035B63D8
+:03016400B7D00011
+:03016500CFF000D8
+:0301660019E0009D
+:0301670016F0008F
+:03016800C03000A4
+:030169000810007B
+:03016A00743000EE
+:03016B00B740009A
+:03016C00C01000C0
+:03016D000240004D
+:03016E002000006E
+:03016F00942000D9
+:030170002020004C
+:0301710002000089
+:0301720003500037
+:03017300B7D00002
+:03017400C00000C8
+:030175001810005F
+:03017600643000F2
+:030177006B00001A
+:03017800B7A0002D
+:03017900B7D000FC
+:03017A00C01000B2
+:03017B001240002F
+:03017C009170007F
+:03017D00369000B9
+:03017E00C01000AE
+:03017F001E6000FF
+:0301800021B000AB
+:0301810008600013
+:03018200743000D6
+:03018300A5700064
+:0301840002600016
+:03018500C0200097
+:03018600FFF00087
+:0301870016B000AF
+:03018800C0200094
+:0301890023A000B0
+:03018A00743000CE
+:03018B0012B000AF
+:03018C0020B000A0
+:03018D00038000EC
+:03018E00C440006A
+:03018F00039000DA
+:03019000C40000A8
+:03019100039000D8
+:03019200C00000AA
+:0301930002300037
+:03019400AC20009C
+:03019500B950005E
 :00000001FF
diff --git a/drivers/dahdi/xpp/init_card_2_30 b/drivers/dahdi/xpp/init_card_2_30
index e3fa236..b3db72d 100755
--- a/drivers/dahdi/xpp/init_card_2_30
+++ b/drivers/dahdi/xpp/init_card_2_30
@@ -415,6 +415,9 @@ close STDERR;
 exit 0;
 
 __DATA__
+*	WD	12	02	# Full wave rectified ring detection
+*	WD	03	01	# Polarity reversal detect mask
+*	WD	04	00	# Clear interrupt status
 *	WD	21	08	# Disable PCM transfers
 *	WD	18	99
 *	WD	06	00

-----------------------------------------------------------------------


-- 
dahdi/linux.git



More information about the dahdi-commits mailing list