summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-02-27wct4xxp: Reduce stack usage in oct612x API.dahdi-embeddedShaun Ruffell
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 <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9751 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-02-27wct4xxp: Reduce the memory footprint of the hardware echocanceler.Shaun Ruffell
This saves ~300K of kernel memory for each quad or dual span VPM. Due to the fact that this change disables caching of the NLP words (among other things), the time to disable the echocans appears to have increased by ~1ms. Before this change: ======================================================================= 0) ! 356.498 us | vpm450m_setecmode(); <--- disable 0) ! 387.762 us | vpm450m_setecmode(); <--- enable 0) ! 429.839 us | vpm450m_setecmode(); <--- disable ]# echo 1 > /proc/sys/vm/drop_caches && free -k total used free shared buffers cached Mem: 2005352 228368 1776984 0 132 5540 -/+ buffers/cache: 222696 1782656 Swap: 983036 0 983036 After this change: ======================================================================= 0) ! 1109.515 us | vpm450m_setecmode(); <--- disable 0) ! 339.017 us | vpm450m_setecmode(); <--- enable 0) ! 1431.460 us | vpm450m_setecmode(); <--- disable ]# echo 1 > /proc/sys/vm/drop_caches && free -k total used free shared buffers cached Mem: 2005352 228080 1777272 0 112 5484 -/+ buffers/cache: 222484 1782868 Swap: 983036 0 983036 Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9750 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-02-27add some FreeBSD compatibilitydahdiKevin P. Fleming
git-svn-id: http://svn.asterisk.org/svn/octasic_api/oct612x/trunk@43 537310ab-6354-42db-a3cc-247b777f7be6
2011-02-27don't make our own definition for NULL, use the kernel's definition (since ↵Kevin P. Fleming
we only use this code in kernel modules) git-svn-id: http://svn.asterisk.org/svn/octasic_api/oct612x/trunk@37 537310ab-6354-42db-a3cc-247b777f7be6
2011-02-27some minor Blackfin-related fixes from Tzafrir CohenKevin P. Fleming
git-svn-id: http://svn.asterisk.org/svn/octasic_api/oct612x/trunk@35 537310ab-6354-42db-a3cc-247b777f7be6
2011-02-27merge up to PR49Kevin P. Fleming
git-svn-id: http://svn.asterisk.org/svn/octasic_api/oct612x/trunk@33 537310ab-6354-42db-a3cc-247b777f7be6
2011-02-27eliminate compiler warningKevin P. Fleming
git-svn-id: http://svn.asterisk.org/svn/octasic_api/oct612x/trunk@30 537310ab-6354-42db-a3cc-247b777f7be6
2011-02-27finish update to PR48 API releaseKevin P. Fleming
git-svn-id: http://svn.asterisk.org/svn/octasic_api/oct612x/trunk@29 537310ab-6354-42db-a3cc-247b777f7be6
2011-02-27update to PR48 API releaseKevin P. Fleming
git-svn-id: http://svn.asterisk.org/svn/octasic_api/oct612x/trunk@28 537310ab-6354-42db-a3cc-247b777f7be6
2011-02-27Make sure we allocate atomicallyMatthew Fredrickson
git-svn-id: http://svn.asterisk.org/svn/octasic_api/oct612x/trunk@26 537310ab-6354-42db-a3cc-247b777f7be6
2011-02-27Fix stack overflow and other memory corruption problems with FC6 on Dell 2950Matthew Fredrickson
git-svn-id: http://svn.asterisk.org/svn/octasic_api/oct612x/trunk@25 537310ab-6354-42db-a3cc-247b777f7be6
2011-02-27update to PR47, and update test application to use GetCapacityPinsKevin P. Fleming
git-svn-id: http://svn.asterisk.org/svn/octasic_api/oct612x/trunk@23 537310ab-6354-42db-a3cc-247b777f7be6
2011-02-27const-ify the parts of the API that deal with firmware image blobsKevin P. Fleming
git-svn-id: http://svn.asterisk.org/svn/octasic_api/oct612x/trunk@16 537310ab-6354-42db-a3cc-247b777f7be6
2011-02-27add stuff to be used for determining which parts of the API kit we need to buildKevin P. Fleming
git-svn-id: http://svn.asterisk.org/svn/octasic_api/oct612x/trunk@10 537310ab-6354-42db-a3cc-247b777f7be6
2011-02-27first revision of the 'skip' listKevin P. Fleming
git-svn-id: http://svn.asterisk.org/svn/octasic_api/oct612x/trunk@9 537310ab-6354-42db-a3cc-247b777f7be6
2011-02-27begin the process of filtering out the parts of the API we don't useKevin P. Fleming
git-svn-id: http://svn.asterisk.org/svn/octasic_api/oct612x/trunk@8 537310ab-6354-42db-a3cc-247b777f7be6
2011-02-27oops... one more way this function could return without calling kfree()Kevin P. Fleming
git-svn-id: http://svn.asterisk.org/svn/octasic_api/oct612x/trunk@7 537310ab-6354-42db-a3cc-247b777f7be6
2011-02-27restore stack space optimization done in older version of this codeKevin P. Fleming
git-svn-id: http://svn.asterisk.org/svn/octasic_api/oct612x/trunk@6 537310ab-6354-42db-a3cc-247b777f7be6
2011-02-27silence some warnings where the compiler can't tell that the function being ↵Kevin P. Fleming
called will only write into the passed argument git-svn-id: http://svn.asterisk.org/svn/octasic_api/oct612x/trunk@5 537310ab-6354-42db-a3cc-247b777f7be6
2011-02-27import helper scriptKevin P. Fleming
git-svn-id: http://svn.asterisk.org/svn/octasic_api/oct612x/trunk@4 537310ab-6354-42db-a3cc-247b777f7be6
2011-02-27importing OCT612x-01.00-PR43Octasic Inc
2011-02-27importing OCT612x-01.00-PR42Octasic Inc
2011-02-27importing OCT612x-01.00-PR41Octasic Inc
2011-02-27importing OCT612x-01.00-PR40Octasic Inc
2011-02-27importing OCT612x-01.00-PR39Octasic Inc
2011-02-27importing OCT612x-01.00-PR38Octasic Inc