summaryrefslogtreecommitdiff
path: root/wctdm.c
diff options
context:
space:
mode:
authormattf <mattf@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2006-05-15 19:19:46 +0000
committermattf <mattf@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2006-05-15 19:19:46 +0000
commit90767d49661f28c09e68dc4ca62e9a61b8c9b95f (patch)
tree88904188cb2e98536038664f1abcda089327e4f0 /wctdm.c
parent05b9910ea45cb34816ce2eb4143c4d3f2919a10b (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.c12
1 files changed, 11 insertions, 1 deletions
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 <markster@digium.com>");