summaryrefslogtreecommitdiff
path: root/software/octdeviceapi
diff options
context:
space:
mode:
Diffstat (limited to 'software/octdeviceapi')
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_open.c13
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_miscellaneous_priv.h161
3 files changed, 54 insertions, 122 deletions
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c
index 49a876f..f06b64b 100644
--- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c
+++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c
@@ -5481,7 +5481,7 @@ UINT32 Oct6100ApiModifyChannelStructs(
if ( f_pChannelModify->fDisableToneDetection == TRUE )
{
/* Check if tone detection has been enabled on this channel. */
- for ( ulToneConfIndex = 0; ulToneConfIndex < ( sizeof( pChanEntry->aulToneConf ) / sizeof(UINT32) ); ulToneConfIndex ++ )
+ for (ulToneConfIndex = 0; ulToneConfIndex < ARRAY_SIZE(pChanEntry->aulToneConf); ulToneConfIndex++)
{
/* Check if some tone has been activated on this channel. */
if ( pChanEntry->aulToneConf[ ulToneConfIndex ] != 0 )
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_open.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_open.c
index 00c0fec..14f13e0 100644
--- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_open.c
+++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_open.c
@@ -200,7 +200,7 @@ UINT32 Oct6100ChipOpenDef(
f_pChipOpen->fEnableAcousticEcho = FALSE;
/* Resource allocation parameters. */
- f_pChipOpen->ulMaxChannels = 672;
+ f_pChipOpen->ulMaxChannels = 256;
f_pChipOpen->ulMaxTsiCncts = 0;
f_pChipOpen->ulMaxBiDirChannels = 0;
f_pChipOpen->ulMaxConfBridges = 0;
@@ -219,7 +219,7 @@ UINT32 Oct6100ChipOpenDef(
f_pChipOpen->fEnableFastH100Mode = FALSE;
/* Configure the soft tone event buffer. */
- f_pChipOpen->ulSoftToneEventsBufSize = 2048;
+ f_pChipOpen->ulSoftToneEventsBufSize = 128;
f_pChipOpen->fEnableExtToneDetection = FALSE;
f_pChipOpen->fEnable2100StopEvent = FALSE;
@@ -240,7 +240,7 @@ UINT32 Oct6100ChipOpenDef(
f_pChipOpen->InterruptConfig.ulFatalMemoryTimeout = 100;
f_pChipOpen->InterruptConfig.ulErrorH100Timeout = 100;
f_pChipOpen->InterruptConfig.ulErrorOverflowToneEventsTimeout = 100;
- f_pChipOpen->ulMaxRemoteDebugSessions = 1;
+ f_pChipOpen->ulMaxRemoteDebugSessions = 0;
f_pChipOpen->ulTdmSampling = cOCT6100_TDM_SAMPLE_AT_3_QUARTERS;
for ( i = 0; i < cOCT6100_TDM_STREAM_MAX_GROUPS; i++ )
f_pChipOpen->aulTdmStreamFreqs[ i ] = cOCT6100_TDM_STREAM_FREQ_8MHZ;
@@ -321,6 +321,7 @@ UINT32 Oct6100ChipOpen(
InstanceSizes = kmalloc(sizeof(tOCT6100_API_INSTANCE_SIZES), GFP_ATOMIC);
if (!InstanceSizes)
return cOCT6100_ERR_FATAL_0;
+
/* Calculate the amount of memory needed for the API instance structure. */
ulResult = Oct6100ApiCalculateInstanceSizes( f_pChipOpen, InstanceSizes );
if ( ulResult != cOCT6100_ERR_OK ) {
@@ -1180,7 +1181,7 @@ UINT32 Oct6100ApiCheckChipConfiguration(
/*-----------------------------------------------------------------------------*/
/* Check soft buffer for tone events size. */
- if ( f_pChipOpen->ulSoftToneEventsBufSize < cOCT6100_NUM_PGSP_EVENT_OUT ||
+ if (f_pChipOpen->ulSoftToneEventsBufSize < 64 ||
f_pChipOpen->ulSoftToneEventsBufSize > cOCT6100_ABSOLUTE_MAX_NUM_PGSP_EVENT_OUT )
return cOCT6100_ERR_OPEN_SOFT_TONE_EVENT_SIZE;
@@ -1678,6 +1679,7 @@ UINT32 Oct6100ApiCalculateInstanceSizes(
/*-----------------------------------------------------------------------------*/
/* Calculate memory needed for the conference bridges. */
ulResult = Oct6100ApiGetConfBridgeSwSizes( f_pChipOpen, f_pInstSizes );
+ /* Calculate memory needed for list and allocation software serialization. */
if ( ulResult != cOCT6100_ERR_OK )
return ulResult;
@@ -1687,8 +1689,6 @@ UINT32 Oct6100ApiCalculateInstanceSizes(
if ( ulResult != cOCT6100_ERR_OK )
return ulResult;
-
-
/*-----------------------------------------------------------------------------*/
/* Memory needed by soft Rx Event buffers. */
ulResult = Oct6100ApiGetEventsSwSizes( f_pChipOpen, f_pInstSizes );
@@ -1741,7 +1741,6 @@ UINT32 Oct6100ApiCalculateInstanceSizes(
ulApiInstProcessSpecific = sizeof( tOCT6100_INSTANCE_API );
mOCT6100_ROUND_MEMORY_SIZE( ulApiInstProcessSpecific, ulTempVar )
-
f_pInstSizes->ulApiInstTotal =
f_pInstSizes->ulChannelList +
f_pInstSizes->ulChannelAlloc +
diff --git a/software/octdeviceapi/oct6100api/oct6100_miscellaneous_priv.h b/software/octdeviceapi/oct6100api/oct6100_miscellaneous_priv.h
index dba94fd..8d4eca6 100644
--- a/software/octdeviceapi/oct6100api/oct6100_miscellaneous_priv.h
+++ b/software/octdeviceapi/oct6100api/oct6100_miscellaneous_priv.h
@@ -231,67 +231,34 @@ IN f_pulConfigDword Pointer to the content stored in the API located at the
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
#define mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInst, f_pChanEntry, f_ulAddress, f_pulConfigDword, f_ulResult ) \
-{ \
- UINT32 _ulFirstEmptyIndex = 0xFFFFFFFF; \
- UINT32 _i; \
- \
- f_ulResult = cOCT6100_ERR_FATAL_8E; \
- (*f_pulConfigDword) = cOCT6100_INVALID_VALUE; \
- \
- /* Search for the Dword.*/ \
- for ( _i = 0; _i < cOCT6100_MAX_NLP_CONF_DWORD; _i++ ) \
- { \
- if ( ( _ulFirstEmptyIndex == 0xFFFFFFFF ) && ( f_pChanEntry->aulNlpConfDword[ _i ][ 0 ] == 0x0 ) ) \
- _ulFirstEmptyIndex = _i; \
- \
- if ( f_pChanEntry->aulNlpConfDword[ _i ][ 0 ] == f_ulAddress ) \
- { \
- /* We found the matching Dword.*/ \
- (*f_pulConfigDword) = f_pChanEntry->aulNlpConfDword[ _i ][ 1 ]; \
- f_ulResult = cOCT6100_ERR_OK; \
- } \
- } \
- \
- if ( ( _i == cOCT6100_MAX_NLP_CONF_DWORD ) && ( _ulFirstEmptyIndex == 0xFFFFFFFF ) ) \
- { \
- /* Nothing to do here, a fatal error occured, no memory was left. */ \
- } \
- else \
- { \
- if ( f_ulResult != cOCT6100_ERR_OK ) \
- { \
- tOCT6100_READ_PARAMS _ReadParams; \
- UINT16 _usReadData; \
- \
- /* We did not found any entry, let's create a new entry.*/ \
- f_pChanEntry->aulNlpConfDword[ _ulFirstEmptyIndex ][ 0 ] = f_ulAddress; \
- \
- _ReadParams.pProcessContext = f_pApiInst->pProcessContext; \
- mOCT6100_ASSIGN_USER_READ_WRITE_OBJ( f_pApiInst, _ReadParams ); \
- _ReadParams.ulUserChipId = f_pApiInst->pSharedInfo->ChipConfig.ulUserChipId; \
- _ReadParams.pusReadData = &_usReadData; \
- \
- /* Read the first 16 bits.*/ \
- _ReadParams.ulReadAddress = f_ulAddress; \
- mOCT6100_DRIVER_READ_API( _ReadParams, f_ulResult ); \
- if ( f_ulResult == cOCT6100_ERR_OK ) \
- { \
- /* Save data.*/ \
- (*f_pulConfigDword) = _usReadData << 16; \
- \
- /* Read the last 16 bits .*/ \
- _ReadParams.ulReadAddress += 2; \
- mOCT6100_DRIVER_READ_API( _ReadParams, f_ulResult ); \
- if ( f_ulResult == cOCT6100_ERR_OK ) \
- { \
- /* Save data.*/ \
- (*f_pulConfigDword) |= _usReadData; \
- f_ulResult = cOCT6100_ERR_OK; \
- } \
- } \
- } \
- } \
-}
+{ \
+ tOCT6100_READ_PARAMS _ReadParams; \
+ UINT16 _usReadData; \
+ f_ulResult = cOCT6100_ERR_FATAL_8E; \
+ (*f_pulConfigDword) = cOCT6100_INVALID_VALUE; \
+ \
+ _ReadParams.pProcessContext = f_pApiInst->pProcessContext; \
+ mOCT6100_ASSIGN_USER_READ_WRITE_OBJ(f_pApiInst, _ReadParams); \
+ _ReadParams.ulUserChipId = f_pApiInst->pSharedInfo->ChipConfig.ulUserChipId; \
+ _ReadParams.pusReadData = &_usReadData; \
+ \
+ /* Read the first 16 bits.*/ \
+ _ReadParams.ulReadAddress = f_ulAddress; \
+ mOCT6100_DRIVER_READ_API(_ReadParams, f_ulResult); \
+ if (f_ulResult == cOCT6100_ERR_OK) { \
+ /* Save data.*/ \
+ (*f_pulConfigDword) = _usReadData << 16; \
+ \
+ /* Read the last 16 bits .*/ \
+ _ReadParams.ulReadAddress += 2; \
+ mOCT6100_DRIVER_READ_API(_ReadParams, f_ulResult); \
+ if (f_ulResult == cOCT6100_ERR_OK) { \
+ /* Save data.*/ \
+ (*f_pulConfigDword) |= _usReadData; \
+ f_ulResult = cOCT6100_ERR_OK; \
+ } \
+ } \
+} \
/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\
@@ -314,59 +281,25 @@ IN f_pulConfigDword content to be stored in the API located at the
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
#define mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInst, f_pChanEntry, f_ulAddress, f_ulConfigDword, f_ulResult ) \
-{ \
- UINT32 _i; \
- UINT32 _ulLastValue = 0x0; \
- \
- /* Search for the Dword.*/ \
- for ( _i = 0; _i < cOCT6100_MAX_NLP_CONF_DWORD; _i++ ) \
- { \
- if ( f_pChanEntry->aulNlpConfDword[ _i ][ 0 ] == f_ulAddress ) \
- { \
- /* We found the matching Dword.*/ \
- _ulLastValue = f_pChanEntry->aulNlpConfDword[ _i ][ 1 ]; \
- f_pChanEntry->aulNlpConfDword[ _i ][ 1 ] = f_ulConfigDword; \
- break; \
- } \
- } \
- \
- if ( _i == cOCT6100_MAX_NLP_CONF_DWORD ) \
- { \
- f_ulResult = cOCT6100_ERR_FATAL_8F; \
- } \
- else \
- { \
- /* Write the config DWORD. */ \
- tOCT6100_WRITE_PARAMS _WriteParams; \
- \
- _WriteParams.pProcessContext = f_pApiInst->pProcessContext; \
- mOCT6100_ASSIGN_USER_READ_WRITE_OBJ( f_pApiInst, _WriteParams ) \
- _WriteParams.ulUserChipId = f_pApiInst->pSharedInfo->ChipConfig.ulUserChipId; \
- \
- /* Check if it is worth calling the user function. */ \
- if ( ( f_ulConfigDword & 0xFFFF0000 ) != ( _ulLastValue & 0xFFFF0000 ) ) \
- { \
- /* Write the first 16 bits. */ \
- _WriteParams.ulWriteAddress = f_ulAddress; \
- _WriteParams.usWriteData = (UINT16)((f_ulConfigDword >> 16) & 0xFFFF); \
- mOCT6100_DRIVER_WRITE_API( _WriteParams, f_ulResult ); \
- } \
- else \
- { \
- f_ulResult = cOCT6100_ERR_OK; \
- } \
- \
- if ( f_ulResult == cOCT6100_ERR_OK ) \
- { \
- if ( ( f_ulConfigDword & 0x0000FFFF ) != ( _ulLastValue & 0x0000FFFF ) ) \
- { \
- /* Write the last word. */ \
- _WriteParams.ulWriteAddress = f_ulAddress + 2; \
- _WriteParams.usWriteData = (UINT16)(f_ulConfigDword & 0xFFFF); \
- mOCT6100_DRIVER_WRITE_API( _WriteParams, f_ulResult ); \
- } \
- } \
- } \
+{ \
+ /* Write the config DWORD. */ \
+ tOCT6100_WRITE_PARAMS _WriteParams; \
+ \
+ _WriteParams.pProcessContext = f_pApiInst->pProcessContext; \
+ mOCT6100_ASSIGN_USER_READ_WRITE_OBJ(f_pApiInst, _WriteParams) \
+ _WriteParams.ulUserChipId = f_pApiInst->pSharedInfo->ChipConfig.ulUserChipId; \
+ \
+ /* Write the first 16 bits. */ \
+ _WriteParams.ulWriteAddress = f_ulAddress; \
+ _WriteParams.usWriteData = (UINT16)((f_ulConfigDword >> 16) & 0xFFFF); \
+ mOCT6100_DRIVER_WRITE_API(_WriteParams, f_ulResult); \
+ \
+ if (f_ulResult == cOCT6100_ERR_OK) { \
+ /* Write the last word. */ \
+ _WriteParams.ulWriteAddress = f_ulAddress + 2; \
+ _WriteParams.usWriteData = (UINT16)(f_ulConfigDword & 0xFFFF); \
+ mOCT6100_DRIVER_WRITE_API(_WriteParams, f_ulResult); \
+ } \
}