wctdm24xxp: Set 'fastoffhook' counter to 8ms and turn off calibration delay.

r10006 "wctdm24xxp: Add 'fastpick' module parameter." copied the
fast-off hook module parameter from the wctdm.c driver, but the setting
in that driver does not match the data sheet. The previous commit did
not actually change any of the significant bits in that register. Also,
that commit changed the timer, but did not disable the callibration
delay which is necessary for Type-II callerid.

The fastpickup option in the wctdm24xxp driver should now match the
fastpickup option in the wctdm driver.

DAHDI-224.

Reported-By: Kinnith Wallace <kwallace@digium.com>
Signed-off-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10148 a0bf4364-ded3-4de4-8d8a-66a801d63aff
This commit is contained in:
Shaun Ruffell 2011-08-19 22:40:41 +00:00
parent 0bc7ff0816
commit f74112b551

View File

@ -2876,7 +2876,10 @@ wctdm_init_voicedaa(struct wctdm *wc, struct wctdm_module *mod,
wctdm_setreg(wc, mod, 30, reg30);
/* Misc. DAA parameters */
reg31 = (fastpickup) ? 0xb3 : 0xa3;
/* If fast pickup is set, then the off hook counter will be set to 8
* ms, otherwise 128 ms. */
reg31 = (fastpickup) ? 0xe3 : 0xa3;
reg31 |= (fxo_modes[_opermode].ohs2 << 3);
wctdm_setreg(wc, mod, 31, reg31);
@ -2886,6 +2889,10 @@ wctdm_init_voicedaa(struct wctdm *wc, struct wctdm_module *mod,
/* Enable ISO-Cap */
wctdm_setreg(wc, mod, 6, 0x00);
/* Turn off the calibration delay when fastpickup is enabled. */
if (fastpickup)
wctdm_setreg(wc, mod, 17, wctdm_getreg(wc, mod, 17) | 0x20);
/* Wait 1000ms for ISO-cap to come up */
newjiffies = jiffies;
newjiffies += 2 * HZ;