From 90767d49661f28c09e68dc4ca62e9a61b8c9b95f Mon Sep 17 00:00:00 2001 From: mattf Date: Mon, 15 May 2006 19:19:46 +0000 Subject: Modifications for faster pickup time on the FXO module git-svn-id: http://svn.digium.com/svn/zaptel/trunk@1055 5390a7c7-147a-4af0-8ec9-7488f05a26cb --- wctdm.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'wctdm.c') diff --git a/wctdm.c b/wctdm.c index 42228ec..b034fc2 100644 --- a/wctdm.c +++ b/wctdm.c @@ -378,6 +378,7 @@ static int _opermode = 0; static char *opermode = "FCC"; static int fxshonormode = 0; static int alawoverride = 0; +static int fastpickup = 0; static int wctdm_init_proslic(struct wctdm *wc, int card, int fast , int manual, int sane); @@ -1473,7 +1474,11 @@ static int wctdm_init_voicedaa(struct wctdm *wc, int card, int fast, int manual, wctdm_setreg(wc, card, 30, reg30); /* Misc. DAA parameters */ - reg31 = 0xa3; + if (fastpickup) + reg31 = 0xb3; + else + reg31 = 0xa3; + reg31 |= (fxo_modes[_opermode].ohs2 << 3); wctdm_setreg(wc, card, 31, reg31); @@ -1486,6 +1491,9 @@ static int wctdm_init_voicedaa(struct wctdm *wc, int card, int fast, int manual, /* Enable ISO-Cap */ wctdm_setreg(wc, card, 6, 0x00); + if (fastpickup) + wctdm_setreg(wc, card, 17, wctdm_getreg(wc, card, 17) | 0x20); + /* Wait 1000ms for ISO-cap to come up */ newjiffies = jiffies; newjiffies += 2 * HZ; @@ -2409,6 +2417,7 @@ module_param(fxshonormode, int, 0600); module_param(battdebounce, int, 0600); module_param(battthresh, int, 0600); module_param(alawoverride, int, 0600); +module_param(fastpickup, int, 0600); #else MODULE_PARM(debug, "i"); MODULE_PARM(loopcurrent, "i"); @@ -2424,6 +2433,7 @@ MODULE_PARM(fxshonormode, "i"); MODULE_PARM(battdebounce, "i"); MODULE_PARM(battthresh, "i"); MODULE_PARM(alawoverride, "i"); +MODULE_PARM(fastpickup, "i"); #endif MODULE_DESCRIPTION("Wildcard TDM400P Zaptel Driver"); MODULE_AUTHOR("Mark Spencer "); -- cgit v1.2.3