diff options
Diffstat (limited to 'wctdm24xxp/base.c')
-rw-r--r-- | wctdm24xxp/base.c | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/wctdm24xxp/base.c b/wctdm24xxp/base.c index c352dc1..7358cfa 100644 --- a/wctdm24xxp/base.c +++ b/wctdm24xxp/base.c @@ -269,6 +269,9 @@ static int vpmsupport = 1; static int vpmdtmfsupport = 0; #define VPM_DEFAULT_DTMFTHRESHOLD 1250 static int dtmfthreshold = VPM_DEFAULT_DTMFTHRESHOLD; +static int vpmnlptype = 1; +static int vpmnlpthresh = 24; +static int vpmnlpmaxsupp = 0; #endif static int wctdm_init_proslic(struct wctdm *wc, int card, int fast , int manual, int sane); @@ -2872,14 +2875,14 @@ static int vpm150m_config_hw(struct wctdm *wc) chanconfig.FrameRate = rate2ms; chanconfig.EcanParametersA.EcanTapLength = 1024; - chanconfig.EcanParametersA.EcanNlpType = 1; + chanconfig.EcanParametersA.EcanNlpType = vpmnlptype; chanconfig.EcanParametersA.EcanAdaptEnable = 1; chanconfig.EcanParametersA.EcanG165DetEnable = 1; chanconfig.EcanParametersA.EcanDblTalkThresh = 6; - chanconfig.EcanParametersA.EcanNlpThreshold = 24; + chanconfig.EcanParametersA.EcanNlpThreshold = vpmnlpthresh; chanconfig.EcanParametersA.EcanNlpConv = 0; chanconfig.EcanParametersA.EcanNlpUnConv = 0; - chanconfig.EcanParametersA.EcanNlpMaxSuppress = 0; + chanconfig.EcanParametersA.EcanNlpMaxSuppress = vpmnlpmaxsupp; chanconfig.EcanParametersA.EcanCngThreshold = 43; chanconfig.EcanParametersA.EcanAdaptLimit = 50; chanconfig.EcanParametersA.EcanCrossCorrLimit = 15; @@ -2887,14 +2890,14 @@ static int vpm150m_config_hw(struct wctdm *wc) chanconfig.EcanParametersA.EcanFirSegmentLen = 64; chanconfig.EcanParametersB.EcanTapLength = 1024; - chanconfig.EcanParametersB.EcanNlpType = 1; + chanconfig.EcanParametersB.EcanNlpType = vpmnlptype; chanconfig.EcanParametersB.EcanAdaptEnable = 1; chanconfig.EcanParametersB.EcanG165DetEnable = 1; chanconfig.EcanParametersB.EcanDblTalkThresh = 6; - chanconfig.EcanParametersB.EcanNlpThreshold = 24; + chanconfig.EcanParametersB.EcanNlpThreshold = vpmnlpthresh; chanconfig.EcanParametersB.EcanNlpConv = 0; chanconfig.EcanParametersB.EcanNlpUnConv = 0; - chanconfig.EcanParametersB.EcanNlpMaxSuppress = 0; + chanconfig.EcanParametersB.EcanNlpMaxSuppress = vpmnlpmaxsupp; chanconfig.EcanParametersB.EcanCngThreshold = 43; chanconfig.EcanParametersB.EcanAdaptLimit = 50; chanconfig.EcanParametersB.EcanCrossCorrLimit = 15; @@ -3696,6 +3699,9 @@ module_param(alawoverride, int, 0600); module_param(vpmsupport, int, 0600); module_param(vpmdtmfsupport, int, 0600); module_param(dtmfthreshold, int, 0600); +module_param(vpmnlptype, int, 0600); +module_param(vpmnlpthresh, int, 0600); +module_param(vpmnlpmaxsupp, int, 0600); #endif #else MODULE_PARM(debug, "i"); @@ -3715,6 +3721,9 @@ MODULE_PARM(alawoverride, "i"); MODULE_PARM(vpmsupport, "i"); MODULE_PARM(vpmdtmfsupport, "i"); MODULE_PARM(dtmfthreshold, "i"); +MODULE_PARM(vpmnlptype, "i"); +MODULE_PARM(vpmnlpthresh, "i"); +MODULE_PARM(vpmnlpmaxsupp, "i"); #endif #endif MODULE_DESCRIPTION("Wildcard TDM2400P/TDM800P Zaptel Driver"); |