diff options
Diffstat (limited to 'wctdm24xxp/base.c')
-rw-r--r-- | wctdm24xxp/base.c | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/wctdm24xxp/base.c b/wctdm24xxp/base.c index a36fea8..086ebaa 100644 --- a/wctdm24xxp/base.c +++ b/wctdm24xxp/base.c @@ -2035,15 +2035,6 @@ static int wctdm_init_voicedaa(struct wctdm *wc, int card, int fast, int manual, /* Enable on-hook line monitor */ wctdm_setreg(wc, card, 5, 0x08); - /* Apply negative Tx gain of 4.5db to DAA */ - wctdm_setreg(wc, card, 38, 0x14); /* 4db */ - wctdm_setreg(wc, card, 40, 0x15); /* 0.5db */ - - /* Apply negative Rx gain of 4.5db to DAA */ - wctdm_setreg(wc, card, 39, 0x14); /* 4db */ - wctdm_setreg(wc, card, 41, 0x15); /* 0.5db */ - - /* Take values for fxotxgain and fxorxgain and apply them to module */ if (fxotxgain) { if (fxotxgain >= -150 && fxotxgain < 0) { @@ -3773,6 +3764,20 @@ static void wctdm_vpm_init(struct wctdm *wc) wc->vpm = 2; else wc->vpm = 1; + + printk("Enabling VPM100 gain adjustments on any FXO ports found\n"); + for (i = 0; i < wc->type; i++) { + if (wc->modtype[i] == MOD_TYPE_FXO) { + /* Apply negative Tx gain of 4.5db to DAA */ + wctdm_setreg(wc, i, 38, 0x14); /* 4db */ + wctdm_setreg(wc, i, 40, 0x15); /* 0.5db */ + + /* Apply negative Rx gain of 4.5db to DAA */ + wctdm_setreg(wc, i, 39, 0x14); /* 4db */ + wctdm_setreg(wc, i, 41, 0x15); /* 0.5db */ + } + } + } #endif |