[svn-commits] rmeyerriecks: branch linux/mspiceland/dahdi-qfalc31 r7413 - /linux/team/mspic...

SVN commits to the Digium repositories svn-commits at lists.digium.com
Fri Oct 23 14:44:20 CDT 2009


Author: rmeyerriecks
Date: Fri Oct 23 14:44:17 2009
New Revision: 7413

URL: http://svnview.digium.com/svn/dahdi?view=rev&rev=7413
Log:
Differences between the 2.1 and 3.1 qfalc architecture cause previously ignored
timing slip interrupts to show up. Now we mask those interrupts at the hardware
level for each span, while that span is in loss of signal, or loss of frame
alignment mode. Interrupts are unmasked after a valid signal is re-established.


Modified:
    linux/team/mspiceland/dahdi-qfalc31/drivers/dahdi/wct4xxp/base.c

Modified: linux/team/mspiceland/dahdi-qfalc31/drivers/dahdi/wct4xxp/base.c
URL: http://svnview.digium.com/svn/dahdi/linux/team/mspiceland/dahdi-qfalc31/drivers/dahdi/wct4xxp/base.c?view=diff&rev=7413&r1=7412&r2=7413
==============================================================================
--- linux/team/mspiceland/dahdi-qfalc31/drivers/dahdi/wct4xxp/base.c (original)
+++ linux/team/mspiceland/dahdi-qfalc31/drivers/dahdi/wct4xxp/base.c Fri Oct 23 14:44:17 2009
@@ -2591,7 +2591,7 @@
 
 static void t4_check_alarms(struct t4 *wc, int span)
 {
-	unsigned char c,d;
+	unsigned char c,d, e;
 	int alarms;
 	int x,j;
 	struct t4_span *ts = wc->tspans[span];
@@ -2667,6 +2667,9 @@
 		if (ts->alarmcount >= alarmdebounce){
 			printk(KERN_INFO "Loss of Signal card %d span %d\n", wc->num, span+1);
 			alarms |= DAHDI_ALARM_RED;
+			/* Disable Slip Interrupts */
+			e = __t4_framer_in(wc, span, 0x17);
+			__t4_framer_out(wc, span, 0x17, (e|0x03));
 		}else{
 			ts->alarmcount++;
 		}
@@ -2707,6 +2710,11 @@
 			__t4_framer_out(wc, span, 0x20, fmr4 & ~0x20);
 			printk(KERN_INFO "wct%dxxp: Clearing yellow alarm on card %d span %d\n", wc->numspans, wc->num, span + 1);
 		}
+		/* Re-enable timing slip interrupts */
+		e = __t4_framer_in(wc, span, 0x17);
+
+		__t4_framer_out(wc, span, 0x17, (e & ~(0x03)));
+
 		ts->spanflags &= ~FLAG_SENDINGYELLOW;
 	}
 




More information about the svn-commits mailing list