X-Git-Url: https://git.ti.com/gitweb?p=processor-sdk%2Fperformance-audio-sr.git;a=blobdiff_plain;f=pasdk%2Ftest_dsp%2Fframework%2FsystemInit.c;h=d0f746fd04388681fba6845f15b9e8b960930908;hp=4653122d7938095ca8c8d0e34e7719fc876ab74d;hb=8dd048c30945e6df4bd06e60aa751471cbb5d741;hpb=de6100f314883a08f00ae7c96de7dc681f2c465d;ds=sidebyside diff --git a/pasdk/test_dsp/framework/systemInit.c b/pasdk/test_dsp/framework/systemInit.c index 4653122d..d0f746fd 100644 --- a/pasdk/test_dsp/framework/systemInit.c +++ b/pasdk/test_dsp/framework/systemInit.c @@ -44,6 +44,7 @@ All rights reserved. #include #include #include +#include #include "pafhjt.h" #include "paf_heapMgr.h" @@ -57,7 +58,7 @@ All rights reserved. #include "fwkSim.h" extern Void ACP_main_cus(Void); // (*** ?) FL: revisit -- check method of patching alpha codes -extern Void idleAudioStream(Void); // (*** ?) FL: revisit -- shouldn't need to call this from system init +extern Void taskSystemStreamFxn(Void); // (*** ?) FL: revisit -- shouldn't need to call this from system init const PAFHJT_t *pafhjt; @@ -71,13 +72,16 @@ extern PAF_ASOT_Fxns PAF_ASOT_params_fxns; Int gSysInit=0; -#define TASK_AFP_PRI ( 1 ) -#define TASK_AIP_PRI ( 2 ) -#define TASK_ASIP_PRI ( 3 ) -#define TASK_ASOP_PRI ( 3 ) +#define TASK_AFP_PRI ( 3 )//( 1 ) // (***) FL: temporary fix for PASDK-64 +#define TASK_AIP_PRI ( 1 )//( 2 ) +#define TASK_SSP_PRI ( 1 ) +#define TASK_ASIP_PRI ( 2 )//( 3 ) +#define TASK_ASOP_PRI ( 2 )//( 3 ) #define __TASK_NAME__ "TaskSysInit" +#define SYS_INIT_SLEEP 100 + /* * ======== taskSysInitFxn ======== * System Initializations task function @@ -85,13 +89,23 @@ Int gSysInit=0; Void taskSysInitFxn(Void) { UInt16 regionId; - IHeap_Handle srHeapMsmc, srHeapDdr3; + IHeap_Handle srHeapMsmc, srHeapDdr3, srHeapNonCacheDdr3; UInt16 remoteProcId; Int status; Log_info0("Enter taskSysInitFxn()"); + // Create Shared DDR region as non-Cacheable, Before IPC attach + // TODO: remove hardcoded address and get correct values from .bld + { // base: 0x81000000, len: 0x01000000, + UInt Common2_DDR3_MAR_base = 0x01848204; + UInt Common2_DDR3_base = 0x81000000; + UInt Common2_DDR3_len = 0x01000000; + // disable cache for common2 DDR3 + Cache_setMar(Common2_DDR3_base, Common2_DDR3_len, Cache_Mar_DISABLE); + } + //taskPriAfp = Task_setPri(TaskAfp, -1); //taskPriAip = Task_setPri(TaskAip, -1); //taskPriAsip = Task_setPri(TaskAsip, -1); @@ -136,11 +150,14 @@ Void taskSysInitFxn(Void) srHeapMsmc = (IHeap_Handle)SharedRegion_getHeap(regionId); regionId = SharedRegion_getIdByName("SR_DDR3"); srHeapDdr3 = (IHeap_Handle)SharedRegion_getHeap(regionId); + regionId = SharedRegion_getIdByName("COMMON2_DDR3"); + srHeapNonCacheDdr3 = (IHeap_Handle)SharedRegion_getHeap(regionId); pafHeapMgr_init((IHeap_Handle)heapMemL2Sram, (IHeap_Handle)heapMemMsmcSram, (IHeap_Handle)heapMemDdr3, srHeapMsmc, - srHeapDdr3); + srHeapDdr3, + srHeapNonCacheDdr3); /* Initialize HJT */ pafhjt = &PAFHJT_RAM; @@ -162,13 +179,19 @@ Void taskSysInitFxn(Void) PAF_ASOT_params_fxns.memStatusPrint = PAF_ALG_memStatusPrint; #endif - gSysInit=1; /* This is required to use SYS alpha codes in atboot? */ - Log_info0("taskSysInitFxn:idleAudioStream()"); - idleAudioStream(); - - // Circumvent MessageQ_open() blocking. + Log_info0("taskSysInitFxn:TaskSystemStream resume"); + gSysInit = 0; + Task_setPri(TaskSystemStream, TASK_SSP_PRI); + // Wait until Execution of TaskSystemStream is complete + // once. + while (gSysInit == 0) // gSysInit is set to 1 in TaskSystemStream + { + Task_sleep(SYS_INIT_SLEEP); + } + + Task_setPri(TaskAfp, TASK_AFP_PRI); Task_setPri(TaskAip, TASK_AIP_PRI); Task_setPri(TaskAsip, TASK_ASIP_PRI);