summaryrefslogtreecommitdiff
path: root/drivers/dahdi/wct4xxp
diff options
context:
space:
mode:
authorRuss Meyerriecks <rmeyerriecks@digium.com>2010-07-27 01:31:41 +0000
committerRuss Meyerriecks <rmeyerriecks@digium.com>2010-07-27 01:31:41 +0000
commit39337ba3d8ccff14983087521111bb4f49c933d0 (patch)
tree2963d66c34383064d48eeb5cf5824dadf2b06553 /drivers/dahdi/wct4xxp
parentc645f00c080ba9d584a7aa12510affe4e86595c5 (diff)
wct4xxp: Enabled network facing looping for E1
Added the abililty to loop the line back towards the network for E1 modes. This supports both network loop and network payload loop. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9019 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi/wct4xxp')
-rw-r--r--drivers/dahdi/wct4xxp/base.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/drivers/dahdi/wct4xxp/base.c b/drivers/dahdi/wct4xxp/base.c
index 5f7e671..2b3233b 100644
--- a/drivers/dahdi/wct4xxp/base.c
+++ b/drivers/dahdi/wct4xxp/base.c
@@ -1459,12 +1459,25 @@ static int t4_maint(struct dahdi_span *span, int cmd)
reg = t4_framer_in(wc, span->offset, LIM0_T);
t4_framer_out(wc, span->offset, LIM0_T, (reg|LIM0_LL));
break;
- case DAHDI_MAINT_REMOTELOOP:
+ case DAHDI_MAINT_NETWORKLINELOOP:
+ dev_info(&wc->dev->dev,
+ "Turning on network line loopback\n");
+ t4_clear_maint(span);
+ reg = t4_framer_in(wc, span->offset, LIM1_T);
+ t4_framer_out(wc, span->offset, LIM1_T, (reg|LIM1_RL));
+ break;
+ case DAHDI_MAINT_NETWORKPAYLOADLOOP:
+ dev_info(&wc->dev->dev,
+ "Turning on network payload loopback\n");
+ t4_clear_maint(span);
+ reg = t4_framer_in(wc, span->offset, FMR2_T);
+ t4_framer_out(wc, span->offset, FMR2_T, (reg|FMR2_PLB));
+ break;
case DAHDI_MAINT_LOOPUP:
case DAHDI_MAINT_LOOPDOWN:
case DAHDI_MAINT_LOOPSTOP:
dev_info(&wc->dev->dev,
- "Only local loop supported in E1 mode\n");
+ "Loopup & loopdown supported in E1 mode\n");
return -ENOSYS;
case DAHDI_MAINT_FAS_DEFECT:
t4_framer_out(wc, span->offset, IERR_T, IFASE);