[zaptel-commits] mattf: branch 1.2 r3988 - /branches/1.2/wctdm24xxp/
SVN commits to the Zaptel project
zaptel-commits at lists.digium.com
Fri Mar 14 11:32:56 CDT 2008
Author: mattf
Date: Fri Mar 14 11:32:55 2008
New Revision: 3988
URL: http://svn.digium.com/view/zaptel?view=rev&rev=3988
Log:
Update wctdm24xxp's VPMADT032 firmware to version 1.16
Modified:
branches/1.2/wctdm24xxp/GpakApi.c
branches/1.2/wctdm24xxp/GpakApi.h
branches/1.2/wctdm24xxp/VPMADT032.bin
branches/1.2/wctdm24xxp/base.c
branches/1.2/wctdm24xxp/gpakErrs.h
Modified: branches/1.2/wctdm24xxp/GpakApi.c
URL: http://svn.digium.com/view/zaptel/branches/1.2/wctdm24xxp/GpakApi.c?view=diff&rev=3988&r1=3987&r2=3988
==============================================================================
--- branches/1.2/wctdm24xxp/GpakApi.c (original)
+++ branches/1.2/wctdm24xxp/GpakApi.c Fri Mar 14 11:32:55 2008
@@ -32,10 +32,9 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-
+
#include <linux/version.h>
#include <asm/semaphore.h>
-
#include "zaptel.h"
#include "GpakHpi.h"
@@ -129,12 +128,10 @@
DSP_ADDRESS IfBlockPntr; /* Interface Block pointer */
DSP_WORD DspStatus; /* DSP Status */
DSP_WORD DspChannels; /* number of DSP channels */
- DSP_WORD Temp[2];
-#if 0
DSP_WORD DspConfs; /* number of DSP conferences */
DSP_ADDRESS PktBufrMem; /* address of Packet Buffer */
+ DSP_WORD Temp[2];
unsigned short int i; /* loop index / counter */
-#endif
/* Read the pointer to the Interface Block. */
gpakReadDspMemory(DspId, DSP_IFBLK_ADDRESS, 2, Temp);
@@ -563,7 +560,7 @@
((pPortConfig->RxFrameSyncPolarity2 << 4) & 0x0010) |
((pPortConfig->TxFrameSyncPolarity2 << 3) & 0x0008) |
((pPortConfig->CompandingMode2 << 1) & 0x0006) |
- (pPortConfig->SerialWordSize1 & 0x0001));
+ (pPortConfig->SerialWordSize2 & 0x0001));
MsgBuffer[12] = (DSP_WORD)
(((pPortConfig->DxDelay3 << 11) & 0x0800) |
@@ -735,8 +732,16 @@
pChanConfig->EcanParametersB.EcanNumFirSegments;
MsgBuffer[34] = (DSP_WORD)
pChanConfig->EcanParametersB.EcanFirSegmentLen;
-
- MsgLength = 70; // byte number == 35*2
+ MsgBuffer[35] = (DSP_WORD)
+ pChanConfig->EcanParametersA.EcanTandemOperationEnable;
+ MsgBuffer[36] = (DSP_WORD)
+ pChanConfig->EcanParametersA.EcanMixedFourWireMode;
+ MsgBuffer[37] = (DSP_WORD)
+ pChanConfig->EcanParametersB.EcanTandemOperationEnable;
+ MsgBuffer[38] = (DSP_WORD)
+ pChanConfig->EcanParametersB.EcanMixedFourWireMode;
+
+ MsgLength = 78; // byte number == 39*2
break;
@@ -892,32 +897,21 @@
DSP_WORD TakeIndex; /* event fifo take index */
DSP_WORD WordsReady; /* number words ready for read out of event fifo */
DSP_WORD EventError; /* flag indicating error with event fifo msg */
-#if 0
DSP_WORD *pDebugData; /* debug data buffer pointer in event data struct */
-#endif
/* Make sure the DSP Id is valid. */
- if (DspId >= MAX_DSP_CORES) {
-#if 0
- printk("Invalid DSP\n");
-#endif
+ if (DspId >= MAX_DSP_CORES)
return (RefInvalidDsp);
- }
/* Lock access to the DSP. */
gpakLockAccess(DspId);
-#if 1
/* Check if the DSP was reset and is ready. */
if (CheckDspReset(DspId) == -1)
{
gpakUnlockAccess(DspId);
-#if 0
- printk("CheckDspReset failed (DspId %d)\n", DspId);
-#endif
return (RefDspCommFailure);
}
-#endif
/* Check if an event message is ready in the DSP. */
EventInfoAddress = pEventFifoAddress[DspId];
@@ -958,9 +952,6 @@
if (EventDataLength > WORD_BUFFER_SIZE)
{
gpakUnlockAccess(DspId);
-#if 0
- printk("EventDataLength > WORD_BUFFER_SIZE (%d)\n", EventDataLength);
-#endif
return (RefInvalidEvent);
}
ReadCircBuffer(DspId, BufrBaseAddress, BufrLastAddress, &TakeAddress,
@@ -973,18 +964,11 @@
TakeIndex += EventDataLength;
if (TakeIndex >= BufrSize)
TakeIndex -= BufrSize;
- if (EventDataLength != 4) {
-#if 0
- printk("EventDataLength != 4 it's %d\n", EventDataLength);
-#endif
+ if (EventDataLength != 4)
EventError = 1;
- }
break;
default:
-#if 0
- printk("Event Code not in switch\n");
-#endif
EventError = 1;
break;
};
Modified: branches/1.2/wctdm24xxp/GpakApi.h
URL: http://svn.digium.com/view/zaptel/branches/1.2/wctdm24xxp/GpakApi.h?view=diff&rev=3988&r1=3987&r2=3988
==============================================================================
--- branches/1.2/wctdm24xxp/GpakApi.h (original)
+++ branches/1.2/wctdm24xxp/GpakApi.h Fri Mar 14 11:32:55 2008
@@ -77,6 +77,9 @@
short int EcanCrossCorrLimit; // Echo Can Cross Correlation limit
short int EcanNumFirSegments; // Echo Can Num FIR Segments
short int EcanFirSegmentLen; // Echo Can FIR Segment Length
+ short int EcanTandemOperationEnable; //Enable tandem operation
+ short int EcanMixedFourWireMode; // Handle possible 4-wire (echo-free) lines
+
} GpakEcanParms_t;
/* Definition of a Channel Configuration information structure. */
Modified: branches/1.2/wctdm24xxp/VPMADT032.bin
URL: http://svn.digium.com/view/zaptel/branches/1.2/wctdm24xxp/VPMADT032.bin?view=diff&rev=3988&r1=3987&r2=3988
==============================================================================
Binary files - no diff available.
Modified: branches/1.2/wctdm24xxp/base.c
URL: http://svn.digium.com/view/zaptel/branches/1.2/wctdm24xxp/base.c?view=diff&rev=3988&r1=3987&r2=3988
==============================================================================
--- branches/1.2/wctdm24xxp/base.c (original)
+++ branches/1.2/wctdm24xxp/base.c Fri Mar 14 11:32:55 2008
@@ -269,7 +269,7 @@
static int vpmdtmfsupport = 0;
#define VPM_DEFAULT_DTMFTHRESHOLD 1250
static int dtmfthreshold = VPM_DEFAULT_DTMFTHRESHOLD;
-static int vpmnlptype = 1;
+static int vpmnlptype = 3;
static int vpmnlpthresh = 24;
static int vpmnlpmaxsupp = 0;
#endif
@@ -2881,13 +2881,15 @@
chanconfig.EcanParametersA.EcanDblTalkThresh = 6;
chanconfig.EcanParametersA.EcanNlpThreshold = vpmnlpthresh;
chanconfig.EcanParametersA.EcanNlpConv = 0;
- chanconfig.EcanParametersA.EcanNlpUnConv = 0;
+ chanconfig.EcanParametersA.EcanNlpUnConv = 12;
chanconfig.EcanParametersA.EcanNlpMaxSuppress = vpmnlpmaxsupp;
chanconfig.EcanParametersA.EcanCngThreshold = 43;
chanconfig.EcanParametersA.EcanAdaptLimit = 50;
chanconfig.EcanParametersA.EcanCrossCorrLimit = 15;
chanconfig.EcanParametersA.EcanNumFirSegments = 3;
chanconfig.EcanParametersA.EcanFirSegmentLen = 64;
+ chanconfig.EcanParametersA.EcanTandemOperationEnable = 1;
+ chanconfig.EcanParametersA.EcanMixedFourWireMode = 1;
chanconfig.EcanParametersB.EcanTapLength = 1024;
chanconfig.EcanParametersB.EcanNlpType = vpmnlptype;
@@ -2896,13 +2898,15 @@
chanconfig.EcanParametersB.EcanDblTalkThresh = 6;
chanconfig.EcanParametersB.EcanNlpThreshold = vpmnlpthresh;
chanconfig.EcanParametersB.EcanNlpConv = 0;
- chanconfig.EcanParametersB.EcanNlpUnConv = 0;
+ chanconfig.EcanParametersB.EcanNlpUnConv = 12;
chanconfig.EcanParametersB.EcanNlpMaxSuppress = vpmnlpmaxsupp;
chanconfig.EcanParametersB.EcanCngThreshold = 43;
chanconfig.EcanParametersB.EcanAdaptLimit = 50;
chanconfig.EcanParametersB.EcanCrossCorrLimit = 15;
chanconfig.EcanParametersB.EcanNumFirSegments = 3;
chanconfig.EcanParametersB.EcanFirSegmentLen = 64;
+ chanconfig.EcanParametersB.EcanTandemOperationEnable = 1;
+ chanconfig.EcanParametersB.EcanMixedFourWireMode = 1;
if ((res = gpakConfigureChannel(vpm150m->dspid, i, tdmToTdm, &chanconfig, &cstatus))) {
printk("Unable to configure channel (%d)\n", res);
Modified: branches/1.2/wctdm24xxp/gpakErrs.h
URL: http://svn.digium.com/view/zaptel/branches/1.2/wctdm24xxp/gpakErrs.h?view=diff&rev=3988&r1=3987&r2=3988
==============================================================================
--- branches/1.2/wctdm24xxp/gpakErrs.h (original)
+++ branches/1.2/wctdm24xxp/gpakErrs.h Fri Mar 14 11:32:55 2008
@@ -99,7 +99,8 @@
Cc_InvalidMuteToneA = 51, /* invalid MuteToneA set, no detector */
Cc_InvalidMuteToneB = 52, /* invalid MuteToneB set, no detector */
- Cc_InsuffFaxCngDetResources = 53 /* insufficient tdm block resources avail. */
+ Cc_InsuffFaxCngDetResources = 53, /* insufficient tdm block resources avail. */
+ Cc_PortDmaNotStarted = 54, /* SerialPort not ready */
} GPAK_ChannelConfigStat_t;
More information about the zaptel-commits
mailing list