From c2715f7534f6880fb371a284c0a30fcd9e1c7bac Mon Sep 17 00:00:00 2001 From: Russ Meyerriecks Date: Mon, 8 Mar 2010 18:37:00 +0000 Subject: dahdi_maint: Added local loopback capability in E1 modes git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8279 a0bf4364-ded3-4de4-8d8a-66a801d63aff --- drivers/dahdi/wct4xxp/base.c | 8 +++++++- drivers/dahdi/wcte12xp/base.c | 6 +++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/drivers/dahdi/wct4xxp/base.c b/drivers/dahdi/wct4xxp/base.c index 62456f4..2109b34 100644 --- a/drivers/dahdi/wct4xxp/base.c +++ b/drivers/dahdi/wct4xxp/base.c @@ -1439,12 +1439,18 @@ static int t4_maint(struct dahdi_span *span, int cmd) dev_info(&wc->dev->dev, "Clearing all maint modes\n"); break; case DAHDI_MAINT_LOCALLOOP: + dev_info(&wc->dev->dev, + "Turning on local loopback\n"); + t4_clear_maint(span); + 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_LOOPUP: case DAHDI_MAINT_LOOPDOWN: case DAHDI_MAINT_LOOPSTOP: dev_info(&wc->dev->dev, - "Looping not supported in E1 mode\n"); + "Only local loop supported in E1 mode\n"); break; default: dev_info(&wc->dev->dev, diff --git a/drivers/dahdi/wcte12xp/base.c b/drivers/dahdi/wcte12xp/base.c index 6c6078f..b7f8dc8 100644 --- a/drivers/dahdi/wcte12xp/base.c +++ b/drivers/dahdi/wcte12xp/base.c @@ -1113,11 +1113,15 @@ static int t1xxp_maint(struct dahdi_span *span, int cmd) t1_info(wc, "Clearing all maint modes\n"); break; case DAHDI_MAINT_LOCALLOOP: + t1xxp_clear_maint(span); + reg = t1_getreg(wc, LIM0); + t1_setreg(wc, LIM0, reg | LIM0_LL); + break; case DAHDI_MAINT_REMOTELOOP: case DAHDI_MAINT_LOOPUP: case DAHDI_MAINT_LOOPDOWN: case DAHDI_MAINT_LOOPSTOP: - t1_info(wc, "Looping not supported in E1 mode\n"); + t1_info(wc, "Only local loop supported in E1 mode\n"); break; default: t1_info(wc, "Unknown E1 maint command: %d\n", cmd); -- cgit v1.2.3