From 0867515a55e4ac8176a396b8de60d7ad5310447c Mon Sep 17 00:00:00 2001 From: Shaun Ruffell Date: Thu, 10 Feb 2011 16:22:55 +0000 Subject: wct4xxp: Reduce stack usage in oct612x API. Reduce the stack usage by replacing the mOCT6100_RETRIEVE_NLP_CONF_DWORD and mOCT6100_SAVE_NLP_CONF_DWORD macros with functions. Some compilers do a better job of optimizing the local variables declared in those macros than others. For example, with gcc 4.3.0, running ]# make stackcheck | grep Oct6100 | head -n 20 | sed -e 's/^0\S* //g' | uniq Before: Oct6100ApiWriteVqeNlpMemory [wct4xxp]: 1112 Oct6100ApiInvalidateChanPlayoutStructs [wct4xxp]:520 Oct6100ApiSetChannelLevelControl [wct4xxp]: 392 Oct6100ApiBridgeEventRemove [wct4xxp]: 344 Oct6100ApiDebugChannelOpen [wct4xxp]: 312 Oct6100ApiWriteVqeAfMemory [wct4xxp]: 296 Oct6100ApiSetChannelTailConfiguration [wct4xxp]:264 Oct6100ApiRandomMemoryWrite [wct4xxp]: 248 Oct6100ApiTransferToneEvents [wct4xxp]: 248 Oct6100ApiModifyChannelStructs [wct4xxp]: 232 After: Oct6100ApiBridgeEventRemove [wct4xxp]: 344 Oct6100ApiDebugChannelOpen [wct4xxp]: 312 Oct6100ApiRandomMemoryWrite [wct4xxp]: 248 Oct6100ApiTransferToneEvents [wct4xxp]: 248 Oct6100ApiInvalidateChanPlayoutStructs [wct4xxp]:248 Oct6100ApiModifyChannelStructs [wct4xxp]: 232 Oct6100ApiBridgeRemoveParticipantFromChannel [wct4xxp]:216 Oct6100ApiWriteVqeNlpMemory [wct4xxp]: 200 Oct6100ApiInitChannels [wct4xxp]: 168 Oct6100ApiProgramNLP [wct4xxp]: 168 Signed-off-by: Shaun Ruffell git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9751 a0bf4364-ded3-4de4-8d8a-66a801d63aff --- .../oct6100api/oct6100_api/oct6100_channel.c | 451 ++++++++++----------- .../oct6100api/oct6100_api/oct6100_chip_stats.c | 1 + .../oct6100api/oct6100_api/oct6100_conf_bridge.c | 20 +- .../oct6100api/oct6100_api/oct6100_events.c | 5 +- .../oct6100api/oct6100_api/oct6100_interrupts.c | 1 + .../oct6100api/oct6100_api/oct6100_phasing_tsst.c | 1 + .../oct6100api/oct6100_api/oct6100_playout_buf.c | 69 ++-- .../oct6100api/oct6100_api/oct6100_tlv.c | 1 + .../oct6100api/oct6100_miscellaneous_priv.h | 105 +---- 9 files changed, 271 insertions(+), 383 deletions(-) diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c index f06b64b..ff1770a 100644 --- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c +++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c @@ -8777,6 +8777,70 @@ UINT32 Oct6100ApiWriteVqeMemory( } #endif +UINT32 oct6100_retrieve_nlp_conf_dword(tPOCT6100_INSTANCE_API f_pApiInst, + tPOCT6100_API_CHANNEL f_pChanEntry, + UINT32 f_ulAddress, + UINT32 *f_pulConfigDword) +{ + tOCT6100_READ_PARAMS _ReadParams; + UINT16 _usReadData; + UINT32 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, ulResult); + if (ulResult == cOCT6100_ERR_OK) { + /* Save data.*/ + (*f_pulConfigDword) = _usReadData << 16; + + /* Read the last 16 bits .*/ + _ReadParams.ulReadAddress += 2; + mOCT6100_DRIVER_READ_API(_ReadParams, ulResult); + if (ulResult == cOCT6100_ERR_OK) { + /* Save data.*/ + (*f_pulConfigDword) |= _usReadData; + ulResult = cOCT6100_ERR_OK; + } + } + return ulResult; +} + +UINT32 oct6100_save_nlp_conf_dword(tPOCT6100_INSTANCE_API f_pApiInst, + tPOCT6100_API_CHANNEL f_pChanEntry, + UINT32 f_ulAddress, + UINT32 f_ulConfigDword) +{ + UINT32 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, ulResult); + + if (ulResult == cOCT6100_ERR_OK) { + /* Write the last word. */ + _WriteParams.ulWriteAddress = f_ulAddress + 2; + _WriteParams.usWriteData = (UINT16)(f_ulConfigDword & 0xFFFF); + mOCT6100_DRIVER_WRITE_API(_WriteParams, ulResult); + } + return ulResult; +} + + + /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ Function: Oct6100ApiWriteVqeNlpMemory @@ -8841,8 +8905,7 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulTempData = 0; /* Configure Adaptive Noise Reduction.*/ - if ( pSharedInfo->ImageInfo.fAdaptiveNoiseReduction == TRUE ) - { + if (pSharedInfo->ImageInfo.fAdaptiveNoiseReduction == TRUE) { /* Check if the configuration has been changed. */ if ( ( f_fModifyOnly == FALSE ) || ( ( f_fModifyOnly == TRUE ) @@ -8854,11 +8917,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulFeatureBitOffset = pSharedInfo->MemoryMap.AdaptiveNoiseReductionOfst.byBitOffset; ulFeatureFieldLength = pSharedInfo->MemoryMap.AdaptiveNoiseReductionOfst.byFieldSize; - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -8874,19 +8936,17 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulTempData |= ( ( (UINT32)f_pVqeConfig->fSoutNoiseBleaching ) << ulFeatureBitOffset ); /* First read the DWORD where the field is located. */ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } } /* Configure Rout Noise Reduction. */ - if ( pSharedInfo->ImageInfo.fRoutNoiseReduction == TRUE ) - { + if (pSharedInfo->ImageInfo.fRoutNoiseReduction == TRUE) { /* Check if the configuration has been changed. */ if ( ( f_fModifyOnly == FALSE ) || ( ( f_fModifyOnly == TRUE ) @@ -8896,11 +8956,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulFeatureBitOffset = pSharedInfo->MemoryMap.RinAnrOfst.byBitOffset; ulFeatureFieldLength = pSharedInfo->MemoryMap.RinAnrOfst.byFieldSize; - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -8913,15 +8972,15 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulTempData |= ( ( (UINT32)f_pVqeConfig->fRoutNoiseReduction ) << ulFeatureBitOffset ); /* Write the new DWORD where the field is located. */ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } } + if (pSharedInfo->ImageInfo.fRoutNoiseReductionLevel == TRUE) { /* Check if the configuration has been changed. */ @@ -8934,11 +8993,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulFeatureBitOffset = pSharedInfo->MemoryMap.RinAnrValOfst.byBitOffset; ulFeatureFieldLength = pSharedInfo->MemoryMap.RinAnrValOfst.byFieldSize; - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -8967,11 +9025,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulTempData |= ( 0 << ulFeatureBitOffset ); /* Write the new DWORD where the field is located. */ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -8990,11 +9047,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulFeatureBitOffset = pSharedInfo->MemoryMap.AnrSnrEnhancementOfst.byBitOffset; ulFeatureFieldLength = pSharedInfo->MemoryMap.AnrSnrEnhancementOfst.byFieldSize; - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -9026,11 +9082,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( } /* Write the new DWORD where the field is located. */ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -9048,11 +9103,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulFeatureBitOffset = pSharedInfo->MemoryMap.AnrVoiceNoiseSegregationOfst.byBitOffset; ulFeatureFieldLength = pSharedInfo->MemoryMap.AnrVoiceNoiseSegregationOfst.byFieldSize; - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -9065,11 +9119,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulTempData |= ( ( (UINT32)f_pVqeConfig->ulAnrVoiceNoiseSegregation ) << ulFeatureBitOffset ); /* Write the new DWORD where the field is located. */ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -9088,11 +9141,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulFeatureBitOffset = pSharedInfo->MemoryMap.ToneDisablerVqeActivationDelayOfst.byBitOffset; ulFeatureFieldLength = pSharedInfo->MemoryMap.ToneDisablerVqeActivationDelayOfst.byFieldSize; - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -9109,11 +9161,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulTempData |= ( 0 ) << ulFeatureBitOffset; /* Write the new DWORD where the field is located. */ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -9132,11 +9183,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulFeatureBitOffset = pSharedInfo->MemoryMap.ConferencingNoiseReductionOfst.byBitOffset; ulFeatureFieldLength = pSharedInfo->MemoryMap.ConferencingNoiseReductionOfst.byFieldSize; - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -9152,11 +9202,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulTempData |= (f_pVqeConfig->fSoutNoiseBleaching << ulFeatureBitOffset ); /* Save the DWORD where the field is located. */ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -9174,11 +9223,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulFeatureBitOffset = pSharedInfo->MemoryMap.RinDcOffsetRemovalOfst.byBitOffset; ulFeatureFieldLength = pSharedInfo->MemoryMap.RinDcOffsetRemovalOfst.byFieldSize; - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -9191,11 +9239,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulTempData |= ( ( (UINT32)f_pVqeConfig->fRinDcOffsetRemoval ) << ulFeatureBitOffset ); /* The write the new DWORD where the field is located.*/ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -9214,11 +9261,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulFeatureFieldLength = pSharedInfo->MemoryMap.SinDcOffsetRemovalOfst.byFieldSize; /* First read the DWORD where the field is located.*/ - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -9231,11 +9277,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulTempData |= ( ( (UINT32)f_pVqeConfig->fSinDcOffsetRemoval ) << ulFeatureBitOffset ); /* Save the DWORD where the field is located.*/ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -9272,11 +9317,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulFeatureFieldLength = pSharedInfo->MemoryMap.ComfortNoiseModeOfst.byFieldSize; /* First read the DWORD where the field is located.*/ - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -9287,11 +9331,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulTempData |= ( f_pVqeConfig->ulComfortNoiseMode << ulFeatureBitOffset ); /* Save the new DWORD where the field is located. */ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -9310,11 +9353,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulFeatureFieldLength = pSharedInfo->MemoryMap.NlpControlFieldOfst.byFieldSize; /* First read the DWORD where the field is located.*/ - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -9327,11 +9369,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulTempData |= 0x1 << ulFeatureBitOffset; /* Save the new DWORD where the field is located.*/ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -9361,11 +9402,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulFeatureBitOffset = pSharedInfo->MemoryMap.DefaultErlFieldOfst.byBitOffset; ulFeatureFieldLength = pSharedInfo->MemoryMap.DefaultErlFieldOfst.byFieldSize; - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -9392,11 +9432,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulTempData |= ( usTempData << ulFeatureBitOffset ); /* Save the new DWORD where the field is located.*/ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -9414,11 +9453,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulFeatureBitOffset = pSharedInfo->MemoryMap.AecFieldOfst.byBitOffset; ulFeatureFieldLength = pSharedInfo->MemoryMap.AecFieldOfst.byFieldSize; - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -9429,11 +9467,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulTempData |= ( ( (UINT32)f_pVqeConfig->fAcousticEcho ) << ulFeatureBitOffset ); /* Then save the new DWORD where the field is located. */ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -9452,11 +9489,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulFeatureBitOffset = pSharedInfo->MemoryMap.AecDefaultErlFieldOfst.byBitOffset; ulFeatureFieldLength = pSharedInfo->MemoryMap.AecDefaultErlFieldOfst.byFieldSize; - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -9483,11 +9519,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulTempData |= ( usTempData << ulFeatureBitOffset ); /* Then save the DWORD where the field is located. */ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -9505,11 +9540,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulFeatureBitOffset = pSharedInfo->MemoryMap.ToneRemovalFieldOfst.byBitOffset; ulFeatureFieldLength = pSharedInfo->MemoryMap.ToneRemovalFieldOfst.byFieldSize; - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -9520,11 +9554,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulTempData |= ( ( (UINT32)f_pVqeConfig->fDtmfToneRemoval ) << ulFeatureBitOffset ); /* First read the DWORD where the field is located.*/ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -9547,11 +9580,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulFeatureBitOffset = pSharedInfo->MemoryMap.PcmLeakFieldOfst.byBitOffset; ulFeatureFieldLength = pSharedInfo->MemoryMap.PcmLeakFieldOfst.byFieldSize; - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -9574,11 +9606,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulTempData |= ( ausLookupTable[ f_pVqeConfig->ulNonLinearityBehaviorA ] << ulFeatureBitOffset ); /* Then save the DWORD where the field is located.*/ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -9628,11 +9659,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulFeatureFieldLength = pSharedInfo->MemoryMap.ToneDisablerControlOfst.byFieldSize; /* First read the DWORD where the field is located.*/ - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -9646,11 +9676,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulTempData |= 0x1 << ulFeatureBitOffset; /* Save the DWORD where the field is located. */ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -9672,11 +9701,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulFeatureFieldLength = pSharedInfo->MemoryMap.NlpTrivialFieldOfst.byFieldSize; /* First read the DWORD where the field is located.*/ - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -9692,11 +9720,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( /* Then write the DWORD where the field is located. */ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -9717,11 +9744,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulFeatureBitOffset = pSharedInfo->MemoryMap.DoubleTalkBehaviorFieldOfst.byBitOffset; ulFeatureFieldLength = pSharedInfo->MemoryMap.DoubleTalkBehaviorFieldOfst.byFieldSize; - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -9732,11 +9758,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulTempData |= (f_pVqeConfig->ulDoubleTalkBehavior << ulFeatureBitOffset ); /* Then save the DWORD where the field is located.*/ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -9758,11 +9783,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulFeatureBitOffset = pSharedInfo->MemoryMap.MusicProtectionFieldOfst.byBitOffset; ulFeatureFieldLength = pSharedInfo->MemoryMap.MusicProtectionFieldOfst.byFieldSize; - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -9774,11 +9798,10 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( ulTempData |= ( 1 << ulFeatureBitOffset ); /* Then save the DWORD where the field is located.*/ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfigBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -9867,11 +9890,10 @@ UINT32 Oct6100ApiWriteVqeAfMemory( ulFeatureFieldLength = pSharedInfo->MemoryMap.ChanMainIoMaxEchoPointOfst.byFieldSize; /* First read the DWORD where the field is located.*/ - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulAfConfigBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -9897,11 +9919,10 @@ UINT32 Oct6100ApiWriteVqeAfMemory( ulTempData |= usTempData << ulFeatureBitOffset; /* First read the DWORD where the field is located.*/ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulAfConfigBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -9922,11 +9943,10 @@ UINT32 Oct6100ApiWriteVqeAfMemory( ulFeatureBitOffset = pSharedInfo->MemoryMap.NlpConvCapFieldOfst.byBitOffset; ulFeatureFieldLength = pSharedInfo->MemoryMap.NlpConvCapFieldOfst.byFieldSize; - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulAfConfigBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -9937,11 +9957,10 @@ UINT32 Oct6100ApiWriteVqeAfMemory( ulTempData |= (f_pVqeConfig->ulNonLinearityBehaviorB << ulFeatureBitOffset ); /* Then save the DWORD where the field is located.*/ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulAfConfigBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -9964,11 +9983,10 @@ UINT32 Oct6100ApiWriteVqeAfMemory( ulFeatureBitOffset = pSharedInfo->MemoryMap.AdaptiveAleOfst.byBitOffset; ulFeatureFieldLength = pSharedInfo->MemoryMap.AdaptiveAleOfst.byFieldSize; - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulAfConfigBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -10003,11 +10021,10 @@ UINT32 Oct6100ApiWriteVqeAfMemory( } /* Now write the DWORD where the field is located containing the new configuration. */ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulAfConfigBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -10030,11 +10047,10 @@ UINT32 Oct6100ApiWriteVqeAfMemory( ulFeatureBitOffset = pSharedInfo->MemoryMap.IdleCodeDetectionFieldOfst.byBitOffset; ulFeatureFieldLength = pSharedInfo->MemoryMap.IdleCodeDetectionFieldOfst.byFieldSize; - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulAfConfigBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -10046,11 +10062,10 @@ UINT32 Oct6100ApiWriteVqeAfMemory( ulTempData |= ( 1 << ulFeatureBitOffset ); /* Then save the DWORD where the field is located.*/ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulAfConfigBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -10071,11 +10086,10 @@ UINT32 Oct6100ApiWriteVqeAfMemory( ulFeatureBitOffset = pSharedInfo->MemoryMap.AftControlOfst.byBitOffset; ulFeatureFieldLength = pSharedInfo->MemoryMap.AftControlOfst.byFieldSize; - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulAfConfigBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -10096,11 +10110,10 @@ UINT32 Oct6100ApiWriteVqeAfMemory( } /* Then save the DWORD where the field is located.*/ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulAfConfigBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -12670,11 +12683,10 @@ UINT32 Oct6100ApiSetChannelLevelControl( ulFeatureFieldLength = pSharedInfo->MemoryMap.RinLevelControlOfst.byFieldSize; /* First read the DWORD where the field is located.*/ - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -12708,11 +12720,10 @@ UINT32 Oct6100ApiSetChannelLevelControl( } /* Save the DWORD where the field is located.*/ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -12722,11 +12733,10 @@ UINT32 Oct6100ApiSetChannelLevelControl( ulFeatureFieldLength = pSharedInfo->MemoryMap.SoutLevelControlOfst.byFieldSize; /* First read the DWORD where the field is located.*/ - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -12762,11 +12772,10 @@ UINT32 Oct6100ApiSetChannelLevelControl( } /* Save the DWORD where the field is located.*/ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -12791,11 +12800,10 @@ UINT32 Oct6100ApiSetChannelLevelControl( ulFeatureFieldLength = pSharedInfo->MemoryMap.RinAutoLevelControlTargetOfst.byFieldSize; /* First read the DWORD where the field is located.*/ - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -12819,11 +12827,10 @@ UINT32 Oct6100ApiSetChannelLevelControl( } /* Save the DWORD where the field is located.*/ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -12838,11 +12845,10 @@ UINT32 Oct6100ApiSetChannelLevelControl( ulFeatureFieldLength = pSharedInfo->MemoryMap.RinHighLevelCompensationThresholdOfst.byFieldSize; /* First read the DWORD where the field is located.*/ - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -12866,11 +12872,10 @@ UINT32 Oct6100ApiSetChannelLevelControl( } /* Save the DWORD where the field is located.*/ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -12885,11 +12890,10 @@ UINT32 Oct6100ApiSetChannelLevelControl( ulFeatureFieldLength = pSharedInfo->MemoryMap.SoutAutoLevelControlTargetOfst.byFieldSize; /* First read the DWORD where the field is located.*/ - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -12913,11 +12917,10 @@ UINT32 Oct6100ApiSetChannelLevelControl( } /* Save the DWORD where the field is located.*/ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -12930,11 +12933,10 @@ UINT32 Oct6100ApiSetChannelLevelControl( ulFeatureFieldLength = pSharedInfo->MemoryMap.SoutHighLevelCompensationThresholdOfst.byFieldSize; /* First read the DWORD where the field is located.*/ - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -12947,11 +12949,10 @@ UINT32 Oct6100ApiSetChannelLevelControl( ulTempData |= ( 0xFFFF << ulFeatureBitOffset ); /* Save the DWORD where the field is located.*/ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -12967,11 +12968,10 @@ UINT32 Oct6100ApiSetChannelLevelControl( ulFeatureFieldLength = pSharedInfo->MemoryMap.AlcHlcStatusOfst.byFieldSize; /* First read the DWORD where the field is located.*/ - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -12994,11 +12994,10 @@ UINT32 Oct6100ApiSetChannelLevelControl( ulTempData |= ( byLastStatus << ulFeatureBitOffset ); /* Save the DWORD where the field is located.*/ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -13080,11 +13079,10 @@ UINT32 Oct6100ApiSetChannelTailConfiguration( ulFeatureFieldLength = pSharedInfo->MemoryMap.PerChanTailDisplacementFieldOfst.byFieldSize; /* First read the DWORD where the field is located.*/ - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -13146,11 +13144,10 @@ UINT32 Oct6100ApiSetChannelTailConfiguration( } /* Then save the new DWORD where the field is located.*/ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -13163,11 +13160,10 @@ UINT32 Oct6100ApiSetChannelTailConfiguration( ulFeatureFieldLength = pSharedInfo->MemoryMap.AfTailDisplacementFieldOfst.byFieldSize; /* First read the DWORD where the field is located.*/ - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulAfConfBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -13186,11 +13182,10 @@ UINT32 Oct6100ApiSetChannelTailConfiguration( } /* Then save the DWORD where the field is located.*/ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulAfConfBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -13200,11 +13195,10 @@ UINT32 Oct6100ApiSetChannelTailConfiguration( ulFeatureFieldLength = pSharedInfo->MemoryMap.TailDisplEnableOfst.byFieldSize; /* First read the DWORD where the field is located.*/ - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -13215,11 +13209,10 @@ UINT32 Oct6100ApiSetChannelTailConfiguration( ulTempData |= ( ( (UINT32)f_pVqeConfig->fEnableTailDisplacement ) << ulFeatureBitOffset ); /* Then save the DWORD where the field is located.*/ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -13237,11 +13230,10 @@ UINT32 Oct6100ApiSetChannelTailConfiguration( ulFeatureBitOffset = pSharedInfo->MemoryMap.PerChanTailLengthFieldOfst.byBitOffset; ulFeatureFieldLength = pSharedInfo->MemoryMap.PerChanTailLengthFieldOfst.byFieldSize; - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulAfConfBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -13260,11 +13252,10 @@ UINT32 Oct6100ApiSetChannelTailConfiguration( } /* Then save the DWORD where the field is located.*/ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulAfConfBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -13284,11 +13275,10 @@ UINT32 Oct6100ApiSetChannelTailConfiguration( ulFeatureBitOffset = pSharedInfo->MemoryMap.AecTailLengthFieldOfst.byBitOffset; ulFeatureFieldLength = pSharedInfo->MemoryMap.AecTailLengthFieldOfst.byFieldSize; - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -13366,11 +13356,10 @@ UINT32 Oct6100ApiSetChannelTailConfiguration( } /* Write the new DWORD where the field is located. */ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulNlpConfBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -13686,11 +13675,10 @@ UINT32 Oct6100ApiMuteSinWithFeatures( ulFeatureBitOffset = pSharedInfo->MemoryMap.SinMuteOfst.byBitOffset; ulFeatureFieldLength = pSharedInfo->MemoryMap.SinMuteOfst.byFieldSize; - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pChanEntry, ulBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -13705,11 +13693,10 @@ UINT32 Oct6100ApiMuteSinWithFeatures( ulTempData |= ( 0x1 << ulFeatureBitOffset ); /* Write the new DWORD where the field is located. */ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pChanEntry, ulBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_stats.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_stats.c index 0a51835..162c43e 100644 --- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_stats.c +++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_stats.c @@ -47,6 +47,7 @@ $Octasic_Revision: 89 $ #include "oct6100api/oct6100_remote_debug_inst.h" #include "oct6100api/oct6100_debug_inst.h" #include "oct6100api/oct6100_api_inst.h" +#include "oct6100api/oct6100_channel_inst.h" #include "oct6100api/oct6100_interrupts_pub.h" #include "oct6100api/oct6100_chip_open_pub.h" diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_conf_bridge.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_conf_bridge.c index 63c458a..1fc539e 100644 --- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_conf_bridge.c +++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_conf_bridge.c @@ -2703,11 +2703,10 @@ UINT32 Oct6100ApiBridgeEventAdd( UINT32 ulFeatureBitOffset = pSharedInfo->MemoryMap.RinLevelControlOfst.byBitOffset; UINT32 ulFeatureFieldLength = pSharedInfo->MemoryMap.RinLevelControlOfst.byFieldSize; - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pEchoChanEntry, ulBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -2720,11 +2719,10 @@ UINT32 Oct6100ApiBridgeEventAdd( ulTempData |= ( cOCT6100_PASS_THROUGH_LEVEL_CONTROL << ulFeatureBitOffset ); /* First read the DWORD where the field is located. */ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pEchoChanEntry, ulBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -7583,11 +7581,10 @@ UINT32 Oct6100ApiBridgeSetDominantSpeaker( ulFeatureFieldLength = f_pApiInstance->pSharedInfo->MemoryMap.DominantSpeakerFieldOfst.byFieldSize; /* Retrieve the current configuration. */ - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pEchoChanEntry, ulBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -7598,11 +7595,10 @@ UINT32 Oct6100ApiBridgeSetDominantSpeaker( ulTempData |= ( ( f_usDominantSpeakerIndex ) << ulFeatureBitOffset ); /* Save the new dominant speaker. */ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pEchoChanEntry, ulBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_events.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_events.c index 7fa36d6..16bf036 100644 --- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_events.c +++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_events.c @@ -1241,11 +1241,10 @@ UINT32 Oct6100BufferPlayoutCheckForSpecificEvent( } /* Retrieve the current write pointer. */ - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pEchoChannel, ulPlayoutBaseAddress + ulWritePtrBytesOfst, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.c index 1a7ebc6..58a7194 100644 --- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.c +++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.c @@ -51,6 +51,7 @@ $Octasic_Revision: 81 $ #include "oct6100api/oct6100_events_pub.h" #include "oct6100api/oct6100_channel_pub.h" #include "oct6100api/oct6100_interrupts_pub.h" +#include "oct6100api/oct6100_channel_inst.h" #include "oct6100_chip_open_priv.h" #include "oct6100_miscellaneous_priv.h" diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_phasing_tsst.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_phasing_tsst.c index 5d27c3c..e8a4199 100644 --- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_phasing_tsst.c +++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_phasing_tsst.c @@ -52,6 +52,7 @@ $Octasic_Revision: 46 $ #include "oct6100api/oct6100_chip_open_pub.h" #include "oct6100api/oct6100_channel_pub.h" #include "oct6100api/oct6100_phasing_tsst_pub.h" +#include "oct6100api/oct6100_channel_inst.h" #include "oct6100_chip_open_priv.h" #include "oct6100_miscellaneous_priv.h" diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_playout_buf.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_playout_buf.c index 57fda7c..cf3affa 100644 --- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_playout_buf.c +++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_playout_buf.c @@ -2398,11 +2398,10 @@ UINT32 Oct6100ApiWriteChanPlayoutStructs( /* Cleared! */ ulTempData &= ( ~ulMask ); - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pEchoChannel, ulAddress, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -2422,11 +2421,10 @@ UINT32 Oct6100ApiWriteChanPlayoutStructs( /* Cleared! */ ulTempData &= ( ~ulMask ); - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pEchoChannel, ulAddress, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -2471,11 +2469,10 @@ UINT32 Oct6100ApiWriteChanPlayoutStructs( ulTempData &= ( ~ulMask ); ulTempData |= *pulSkipPtr << ulSkipPtrBitOfst; - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pEchoChannel, ulAddress, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -2501,11 +2498,10 @@ UINT32 Oct6100ApiWriteChanPlayoutStructs( ulTempData &= ( ~ulMask ); ulTempData |= ulWritePtr << ulWritePtrBitOfst; - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pEchoChannel, ulAddress, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -2912,7 +2908,7 @@ UINT32 Oct6100ApiInvalidateChanPlayoutStructs( /* Get the write pointer in the chip. */ ulAddress = ulPlayoutBaseAddress + ulWritePtrBytesOfst; - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, pEchoChannel, ulAddress, &ulReadData, ulResult ); + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pEchoChannel, ulAddress, &ulReadData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -2984,11 +2980,10 @@ UINT32 Oct6100ApiInvalidateChanPlayoutStructs( { ulAddress = ulPlayoutBaseAddress + ulIgnoreBytesOfst; - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pEchoChannel, ulAddress, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -3000,11 +2995,10 @@ UINT32 Oct6100ApiInvalidateChanPlayoutStructs( if ( f_pBufferPlayoutStop->fStopCleanly == FALSE ) ulTempData |= 0x1 << ulIgnoreBitOfst; - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pEchoChannel, ulAddress, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -3017,7 +3011,7 @@ UINT32 Oct6100ApiInvalidateChanPlayoutStructs( ulAddress = ulPlayoutBaseAddress + ulWritePtrBytesOfst; - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, pEchoChannel, ulAddress, &ulTempData, ulResult ); + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pEchoChannel, ulAddress, &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -3026,11 +3020,10 @@ UINT32 Oct6100ApiInvalidateChanPlayoutStructs( ulTempData &= ( ~ulMask ); ulTempData |= ulWritePtr << ulWritePtrBitOfst; - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pEchoChannel, ulAddress, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -3042,11 +3035,10 @@ UINT32 Oct6100ApiInvalidateChanPlayoutStructs( ulAddress = ulPlayoutBaseAddress + ulSkipPtrBytesOfst; - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pEchoChannel, ulAddress, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -3055,11 +3047,10 @@ UINT32 Oct6100ApiInvalidateChanPlayoutStructs( ulTempData &= ( ~ulMask ); ulTempData |= ulSkipPtr << ulSkipPtrBitOfst; - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pEchoChannel, ulAddress, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -3076,11 +3067,10 @@ UINT32 Oct6100ApiInvalidateChanPlayoutStructs( { ulAddress = ulPlayoutBaseAddress + ulHardSkipBytesOfst; - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pEchoChannel, ulAddress, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -3092,22 +3082,20 @@ UINT32 Oct6100ApiInvalidateChanPlayoutStructs( if ( f_pBufferPlayoutStop->fStopCleanly == FALSE ) ulTempData |= 0x1 << ulHardSkipBitOfst; - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pEchoChannel, ulAddress, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; /* Now is the appropriate time to skip! */ ulAddress = ulPlayoutBaseAddress + ulIgnoreBytesOfst; - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_retrieve_nlp_conf_dword(f_pApiInstance, pEchoChannel, ulAddress, - &ulTempData, - ulResult ); + &ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -3118,11 +3106,10 @@ UINT32 Oct6100ApiInvalidateChanPlayoutStructs( /* Set the skip bit. */ ulTempData |= 0x1 << ulIgnoreBitOfst; - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, + ulResult = oct6100_save_nlp_conf_dword(f_pApiInstance, pEchoChannel, ulAddress, - ulTempData, - ulResult ); + ulTempData); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tlv.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tlv.c index 7f3182b..ab2dd70 100644 --- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tlv.c +++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tlv.c @@ -51,6 +51,7 @@ $Octasic_Revision: 113 $ #include "oct6100api/oct6100_channel_pub.h" #include "oct6100api/oct6100_chip_open_pub.h" +#include "oct6100api/oct6100_channel_inst.h" #include "oct6100_chip_open_priv.h" #include "oct6100_miscellaneous_priv.h" diff --git a/software/octdeviceapi/oct6100api/oct6100_miscellaneous_priv.h b/software/octdeviceapi/oct6100api/oct6100_miscellaneous_priv.h index 8d4eca6..c0381f4 100644 --- a/software/octdeviceapi/oct6100api/oct6100_miscellaneous_priv.h +++ b/software/octdeviceapi/oct6100api/oct6100_miscellaneous_priv.h @@ -208,101 +208,6 @@ $Octasic_Revision: 20 $ #define mOCT6100_ASSIGN_USER_READ_WRITE_OBJ( f_pApiInst, Params ) - -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -Function: mOCT6100_RETRIEVE_NLP_CONF_DWORD - -Description: This function is used by the API to store on a per channel basis - the various confguration DWORD from the device. The API performs - less read to the chip that way since it is always in synch - with the chip. - -------------------------------------------------------------------------------- -| Argument | Description -------------------------------------------------------------------------------- - -IN f_pApiInst Pointer to API instance. This memory is used to keep - the present state of the chip and all its resources. -IN f_pChanEntry Pointer to an API channel structure.. -IN f_ulAddress Address that needs to be modified.. -IN f_pulConfigDword Pointer to the content stored in the API located at the - desired address. - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ -#define mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInst, f_pChanEntry, f_ulAddress, f_pulConfigDword, f_ulResult ) \ -{ \ - 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; \ - } \ - } \ -} \ - - -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -Function: mOCT6100_SAVE_NLP_CONF_DWORD - -Description: This function stores a configuration Dword within an API channel - structure and then writes it into the chip. - -------------------------------------------------------------------------------- -| Argument | Description -------------------------------------------------------------------------------- - -IN f_pApiInst Pointer to API instance. This memory is used to keep - the present state of the chip and all its resources. -IN f_pChanEntry Pointer to an API channel structure.. -IN f_ulAddress Address that needs to be modified.. -IN f_pulConfigDword content to be stored in the API located at the - desired address. - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ -#define mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInst, f_pChanEntry, f_ulAddress, f_ulConfigDword, 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); \ - } \ -} - - #define mOCT6100_CREATE_FEATURE_MASK( f_ulFieldSize, f_ulFieldBitOffset, f_pulFieldMask ) \ { \ (*f_pulFieldMask) = ( 1 << f_ulFieldSize ); \ @@ -361,4 +266,14 @@ UINT8 Oct6100ApiHexToAscii( UINT32 Oct6100ApiRand( IN UINT32 f_ulRange ); +UINT32 oct6100_retrieve_nlp_conf_dword(tPOCT6100_INSTANCE_API f_pApiInst, + tPOCT6100_API_CHANNEL f_pChanEntry, + UINT32 f_ulAddress, + UINT32 *f_pulConfigDword); + +UINT32 oct6100_save_nlp_conf_dword(tPOCT6100_INSTANCE_API f_pApiInst, + tPOCT6100_API_CHANNEL f_pChanEntry, + UINT32 f_ulAddress, + UINT32 f_ulConfigDword); + #endif /* __OCT6100_MISCELLANEOUS_PRIV_H__ */ -- cgit v1.2.3