diff options
author | mattf <mattf@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2006-05-15 19:19:46 +0000 |
---|---|---|
committer | mattf <mattf@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2006-05-15 19:19:46 +0000 |
commit | 90767d49661f28c09e68dc4ca62e9a61b8c9b95f (patch) | |
tree | 88904188cb2e98536038664f1abcda089327e4f0 /wctdm.c | |
parent | 05b9910ea45cb34816ce2eb4143c4d3f2919a10b (diff) |
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
Diffstat (limited to 'wctdm.c')
-rw-r--r-- | wctdm.c | 12 |
1 files changed, 11 insertions, 1 deletions
@@ -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 <markster@digium.com>"); |