index 4653122d7938095ca8c8d0e34e7719fc876ab74d..d0f746fd04388681fba6845f15b9e8b960930908 100644 (file)
#include <xdc/runtime/System.h>
#include <ti/ipc/SharedRegion.h>
#include <ti/ipc/Ipc.h>
#include <xdc/runtime/System.h>
#include <ti/ipc/SharedRegion.h>
#include <ti/ipc/Ipc.h>
+#include <ti/sysbios/family/c66/Cache.h>
#include "pafhjt.h"
#include "paf_heapMgr.h"
#include "pafhjt.h"
#include "paf_heapMgr.h"
#include "fwkSim.h"
extern Void ACP_main_cus(Void); // (*** ?) FL: revisit -- check method of patching alpha codes
#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;
const PAFHJT_t *pafhjt;
Int gSysInit=0;
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 __TASK_NAME__ "TaskSysInit"
+#define SYS_INIT_SLEEP 100
+
/*
* ======== taskSysInitFxn ========
* System Initializations task function
/*
* ======== taskSysInitFxn ========
* System Initializations task function
Void taskSysInitFxn(Void)
{
UInt16 regionId;
Void taskSysInitFxn(Void)
{
UInt16 regionId;
- IHeap_Handle srHeapMsmc, srHeapDdr3;
+ IHeap_Handle srHeapMsmc, srHeapDdr3, srHeapNonCacheDdr3;
UInt16 remoteProcId;
Int status;
Log_info0("Enter taskSysInitFxn()");
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);
//taskPriAfp = Task_setPri(TaskAfp, -1);
//taskPriAip = Task_setPri(TaskAip, -1);
//taskPriAsip = Task_setPri(TaskAsip, -1);
srHeapMsmc = (IHeap_Handle)SharedRegion_getHeap(regionId);
regionId = SharedRegion_getIdByName("SR_DDR3");
srHeapDdr3 = (IHeap_Handle)SharedRegion_getHeap(regionId);
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,
pafHeapMgr_init((IHeap_Handle)heapMemL2Sram,
(IHeap_Handle)heapMemMsmcSram,
(IHeap_Handle)heapMemDdr3,
srHeapMsmc,
- srHeapDdr3);
+ srHeapDdr3,
+ srHeapNonCacheDdr3);
/* Initialize HJT */
pafhjt = &PAFHJT_RAM;
/* Initialize HJT */
pafhjt = &PAFHJT_RAM;
PAF_ASOT_params_fxns.memStatusPrint = PAF_ALG_memStatusPrint;
#endif
PAF_ASOT_params_fxns.memStatusPrint = PAF_ALG_memStatusPrint;
#endif
- gSysInit=1;
/* This is required to use SYS alpha codes in atboot? */
/* 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);
Task_setPri(TaskAfp, TASK_AFP_PRI);
Task_setPri(TaskAip, TASK_AIP_PRI);
Task_setPri(TaskAsip, TASK_ASIP_PRI);