PASDK-302: DTSX statusOp modifications.
authorChitresh Gupta <chitresh.g@pathpartnertech.com>
Wed, 3 May 2017 13:50:59 +0000 (19:20 +0530)
committerChitresh Gupta <chitresh.g@pathpartnertech.com>
Wed, 3 May 2017 13:50:59 +0000 (19:20 +0530)
3p-ip-dts
build_dtsx_libs.bat [new file with mode: 0644]
pasdk/paf
pasdk/test_arm/framework/audioStreamDecodeProc.c
pasdk/test_arm/framework/systemInit.c
pasdk/test_dsp/application/itopo/evmk2g/alpha/i13_a.h
pasdk/test_dsp/framework/audioStreamInpProc.c
pasdk/test_dsp/framework/systemInit.c
tools/alpha/i13_a.h
tools/alpha/pa_i13_evmk2g_io_a.h

index cd0e30f1dc40ee75f8398b86de4c4cd9cf1a9116..469137fccc70dd1fad6e3f361a307ebe5b424e6a 160000 (submodule)
--- a/3p-ip-dts
+++ b/3p-ip-dts
@@ -1 +1 @@
-Subproject commit cd0e30f1dc40ee75f8398b86de4c4cd9cf1a9116
+Subproject commit 469137fccc70dd1fad6e3f361a307ebe5b424e6a
diff --git a/build_dtsx_libs.bat b/build_dtsx_libs.bat
new file mode 100644 (file)
index 0000000..3340092
--- /dev/null
@@ -0,0 +1,41 @@
+@echo off
+SET DTSX_SOURCE_PATH=3p-ip-dts\Source_Code\sdk-dts-uhd-no-guidedparma-src
+
+
+
+pushd %DTSX_SOURCE_PATH%\parma-dec\misc\build\a15\Release
+gmake clean
+gmake 
+popd
+pushd %DTSX_SOURCE_PATH%\la-strm-reconstruction\misc\build\a15\Release
+gmake clean
+gmake
+popd
+pushd %DTSX_SOURCE_PATH%\lbr\misc\build\a15\lbr\Release
+gmake clean
+gmake 
+popd
+pushd  %DTSX_SOURCE_PATH%\lbr\misc\build\a15\lbrdec\Release
+gmake clean
+gmake
+popd
+pushd %DTSX_SOURCE_PATH%\dts-3d\misc\build\a15\Release
+gmake clean
+gmake 
+popd
+pushd %DTSX_SOURCE_PATH%\dts-base\misc\build\a15\Release
+gmake clean
+gmake 
+popd
+pushd %DTSX_SOURCE_PATH%\common-flib\misc\build\a15\Release
+gmake clean
+gmake 
+popd
+pushd %DTSX_SOURCE_PATH%\dtshd-c-decoder\misc\build\a15\lib\Release
+gmake clean
+gmake 
+popd
+pushd %DTSX_SOURCE_PATH%\alg\misc\build\a15\Release
+gmake clean
+gmake
+popd
index 211d68541fb5460f620c3f1a977050d1c4615b1c..fecb91dd8f36936592d71302cee9f24f4cf06801 160000 (submodule)
--- a/pasdk/paf
+++ b/pasdk/paf
@@ -1 +1 @@
-Subproject commit 211d68541fb5460f620c3f1a977050d1c4615b1c
+Subproject commit fecb91dd8f36936592d71302cee9f24f4cf06801
index 7681fbf35e26a6488a29a2852ab0186ae009c228..b202b69952b1cff288b65d439581f4ff3d6be9ba 100644 (file)
@@ -275,28 +275,6 @@ Void taskAsdpFxn(
         pP->fxns->memStatusPrint(HEAP_INTERNAL, HEAP_INTERNAL1, HEAP_EXTERNAL, HEAP_INTERNAL1_SHM);
     }
     
-#ifdef NON_CACHE_STATUS
-    //
-    // init Status structure Gate
-    //
-    if (statusOp_Init(GATEMP_INDEX_DEC) == STATUSOP_INIT_FAIL)
-    {
-        TRACE_TERSE1("TaskAsdp: Gate Index %d:initialization status GateMP Fail.", GATEMP_INDEX_DEC);
-    }
-    if (statusOp_Init(GATEMP_INDEX_DDP) == STATUSOP_INIT_FAIL)
-    {
-        TRACE_TERSE1("TaskAsdp: Gate Index %d:initialization status GateMP Fail.", GATEMP_INDEX_DDP);
-    }
-    if (statusOp_Init(GATEMP_INDEX_PCM) == STATUSOP_INIT_FAIL)
-    {
-        TRACE_TERSE1("TaskAsdp: Gate Index %d:initialization status GateMP Fail.", GATEMP_INDEX_PCM);
-    }
-    if (statusOp_Init(GATEMP_INDEX_THD) == STATUSOP_INIT_FAIL)
-    {
-        TRACE_TERSE1("TaskAsdp: Gate Index %d:initialization status GateMP Fail.", GATEMP_INDEX_THD);
-    }
-#endif
-
     // (***) FL: revisit
     // write back Status structure addresses for Beta Units initialized on Slave
     Cache_wb((Ptr)(&IACP_STD_BETA_TABLE.pStatus[STD_BETA_DECODE]), sizeof(IALG_Status *), Cache_Type_ALLD, 0);
@@ -327,10 +305,10 @@ Void taskAsdpFxn(
     // write back Dec configuration
     Cache_wbInv(&pAstCfg->xDec[0], DECODEN*sizeof(PAF_AST_Decode), Cache_Type_ALLD, 0);
     Cache_wait();*/
-    size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]->size;
+    /*size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]->size;
     Cache_wbInv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]), size, Cache_Type_ALLD, 0);
-    Cache_wait();
-    
+    Cache_wait();*/
+
     // Send initialization complete message to master
     queId = MessageQ_getReplyQueue(pAspMsg);
     pAspMsg->procId = hAspMsgSlave->slaveProcId;
@@ -476,9 +454,9 @@ Void taskAsdpFxn(
                     size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP]->size;
                     Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP]), size, Cache_Type_ALLD, 0);
                     Cache_wait();*/
-                    size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]->size;
+                    /*size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]->size;
                     Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]), size, Cache_Type_ALLD, 0);
-                    Cache_wait();
+                    Cache_wait();*/
                     
                     argIdx = 0; // get decIdx
                     z = *(Int32 *)&pAspMsg->buf[argIdx];
@@ -548,10 +526,10 @@ Void taskAsdpFxn(
                     size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP]->size;
                     Cache_wbInv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP]), size, Cache_Type_ALLD, 0);
                     Cache_wait();*/
-                    size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]->size;
+                    /*size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]->size;
                     Cache_wbInv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]), size, Cache_Type_ALLD, 0);
                     Cache_wait();
-                    
+                    */
                     // send dec reset complete message to master
                     queId = MessageQ_getReplyQueue(pAspMsg);
                     pAspMsg->procId = hAspMsgSlave->slaveProcId;
@@ -701,7 +679,7 @@ Void taskAsdpFxn(
                         errno = dec->fxns->decode(dec, NULL, &pAstCfg->xDec[z].decodeInStruct, &pAstCfg->xDec[z].decodeOutStruct);
                         if (errno < 0)
                         {
-                            SW_BREAKPOINT;
+                            //SW_BREAKPOINT;
                         }
                         TRACE_TERSE0("Dec:decode done");
                         
index 54dfced28c90cdcc6bf8ced1b9d22115810e3f54..308c597d1b0a9db9873671cb52065772e1c27442 100644 (file)
@@ -50,6 +50,7 @@ All rights reserved.
 #include "aspDecOpCircBuf_slave.h"
 #include "audioStreamProc_common.h"
 #include "audioStreamDecodeProc.h"
+#include "statusOp_common.h"
 
 const PAFHJT_t *pafhjt;
 
@@ -123,6 +124,32 @@ Void taskSysInitFxn(Void)
         NULL,
         srHeapNonCacheDdr3);
     
+#ifdef NON_CACHE_STATUS
+    //
+    // init Status structure Gate: Has to done before statusOp_Init() call from DSP
+    //
+    if (statusOp_Init(GATEMP_INDEX_DEC) == STATUSOP_INIT_FAIL)
+    {
+        TRACE_TERSE1("TaskAsdp: Gate Index %d:initialization status GateMP Fail.", GATEMP_INDEX_DEC);
+    }
+    if (statusOp_Init(GATEMP_INDEX_DDP) == STATUSOP_INIT_FAIL)
+    {
+        TRACE_TERSE1("TaskAsdp: Gate Index %d:initialization status GateMP Fail.", GATEMP_INDEX_DDP);
+    }
+    if (statusOp_Init(GATEMP_INDEX_PCM) == STATUSOP_INIT_FAIL)
+    {
+        TRACE_TERSE1("TaskAsdp: Gate Index %d:initialization status GateMP Fail.", GATEMP_INDEX_PCM);
+    }
+    if (statusOp_Init(GATEMP_INDEX_THD) == STATUSOP_INIT_FAIL)
+    {
+        TRACE_TERSE1("TaskAsdp: Gate Index %d:initialization status GateMP Fail.", GATEMP_INDEX_THD);
+    }
+    if (statusOp_Init(GATEMP_INDEX_DTS) == STATUSOP_INIT_FAIL)
+       {
+               TRACE_TERSE1("TaskAsdp: Gate Index %d:initialization status GateMP Fail.", GATEMP_INDEX_DTS);
+       }
+#endif
+
     /* Initialize HJT */
     pafhjt = &PAFHJT_RAM;
     
index 18ee991a26d92ada592410eafeb59e7e0c62a176..fb9a9b1eefea85df1d443b191e6c68bad6f1dd5d 100644 (file)
@@ -61,4 +61,5 @@ All rights reserved.
 //#include <car_a.h>\r
 //#include <bmda_a.h>\r
 //#include <dap_a.h>\r
+#include <dtsuhda_a.h>\r
 #endif /* _I13_A_H_ */\r
index 264e929bbb8ad0be7a2597f222e1bbc11678dc31..0d9616028be647d9fb73515d99a5c46b55e74580 100644 (file)
@@ -507,6 +507,7 @@ Void taskAsipFxn(
     Cache_inv((Ptr)(&IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP2]), sizeof(IALG_Status *), Cache_Type_ALLD, 0);
     Cache_inv((Ptr)(&IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD]), sizeof(IALG_Status *), Cache_Type_ALLD, 0);
     Cache_inv((Ptr)(&IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD2]), sizeof(IALG_Status *), Cache_Type_ALLD, 0);
+    Cache_inv((Ptr)(&IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]), sizeof(IALG_Status *), Cache_Type_ALLD, 0);
     Cache_wait();
     if (!IACP_STD_BETA_TABLE.pStatus[STD_BETA_DECODE]) Log_info0("ERROR: beta unit for Dec==NULL");
     if (!IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM]) Log_info0("ERROR: beta unit for Dec==NULL");
@@ -515,6 +516,7 @@ Void taskAsipFxn(
     if (!IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP2]) Log_info0("ERROR: beta unit for Dec==NULL");
     if (!IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD]) Log_info0("ERROR: beta unit for Dec==NULL");
     if (!IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD2]) Log_info0("ERROR: beta unit for Dec==NULL");
+    if (!IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]) Log_info0("ERROR: beta unit for Dec==NULL");
     
     // (***) FL: revisit
     // invalidate Status structures for Beta Units initialized on Slave
@@ -543,26 +545,6 @@ Void taskAsipFxn(
     Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]), size, Cache_Type_ALLD, 0);
     Cache_wait();
     
-#ifdef NON_CACHE_STATUS
-    // Get the shared status structure GateMP handles. Initialized at slave.
-    if (statusOp_Init(GATEMP_INDEX_DEC) == STATUSOP_INIT_FAIL)
-    {
-        Log_info1("TaskAfp: Gate Index %d:Open status GateMP Fail.", GATEMP_INDEX_DEC);
-    }
-    if (statusOp_Init(GATEMP_INDEX_DDP) == STATUSOP_INIT_FAIL)
-    {
-        Log_info1("TaskAfp: Gate Index %d:Open status GateMP Fail.", GATEMP_INDEX_DDP);
-    }
-    if (statusOp_Init(GATEMP_INDEX_PCM) == STATUSOP_INIT_FAIL)
-    {
-        Log_info1("TaskAfp: Gate Index %d:Open status GateMP Fail.", GATEMP_INDEX_PCM);
-    }
-    if (statusOp_Init(GATEMP_INDEX_THD) == STATUSOP_INIT_FAIL)
-    {
-        Log_info1("TaskAfp: Gate Index %d:Open status GateMP Fail.", GATEMP_INDEX_THD);
-    }
-#endif
-
     // (***) FL: revisit
     // invalidate Dec configuration
     Cache_inv(&gPAF_AST_config.xDec[0], DECODEN*sizeof(PAF_AST_Decode), Cache_Type_ALLD, 0);
@@ -2120,9 +2102,9 @@ PAF_ASIT_decodeProcessing(
                 size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP]->size;
                 Cache_wb((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP]), size, Cache_Type_ALLD, 0);
                 Cache_wait();*/
-                size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]->size;
+                /*size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]->size;
                 Cache_wb((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]), size, Cache_Type_ALLD, 0);
-                Cache_wait();
+                Cache_wait();*/
 #endif
 #if 0
                 ////size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DECODE]->size;
@@ -2150,9 +2132,9 @@ PAF_ASIT_decodeProcessing(
                 size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP]->size;
                 Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP]), size, Cache_Type_ALLD, 0);
                 Cache_wait();*/
-                size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]->size;
+                /*size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]->size;
                 Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]), size, Cache_Type_ALLD, 0);
-                Cache_wait();
+                Cache_wait();*/
 #endif
                 
                 frame = 0;
index ead1e7351fa2fcb29dd3c3537f7a08750c538f47..319c76520dab809d9151c158370dd8f59cdd684d 100644 (file)
@@ -56,6 +56,7 @@ All rights reserved.
 #include "audioStreamInpProc.h"
 #include "audioStreamOutProc.h"
 #include "fwkSim.h"
+#include "statusOp_common.h"
 
 extern Void ACP_main_cus(Void);     // (*** ?) FL: revisit -- check method of patching alpha codes
 extern Void taskSystemStreamFxn(Void);  // (*** ?) FL: revisit -- shouldn't need to call this from system init
@@ -152,12 +153,38 @@ Void taskSysInitFxn(Void)
     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,
         srHeapNonCacheDdr3);
+
+#ifdef NON_CACHE_STATUS
+    //
+    // init Status structure Gate: ARM should have called statusOp_Init() before this.
+    //
+    if (statusOp_Init(GATEMP_INDEX_DEC) == STATUSOP_INIT_FAIL)
+    {
+        TRACE_TERSE1("TaskAsdp: Gate Index %d:initialization status GateMP Fail.", GATEMP_INDEX_DEC);
+    }
+    if (statusOp_Init(GATEMP_INDEX_DDP) == STATUSOP_INIT_FAIL)
+    {
+        TRACE_TERSE1("TaskAsdp: Gate Index %d:initialization status GateMP Fail.", GATEMP_INDEX_DDP);
+    }
+    if (statusOp_Init(GATEMP_INDEX_PCM) == STATUSOP_INIT_FAIL)
+    {
+        TRACE_TERSE1("TaskAsdp: Gate Index %d:initialization status GateMP Fail.", GATEMP_INDEX_PCM);
+    }
+    if (statusOp_Init(GATEMP_INDEX_THD) == STATUSOP_INIT_FAIL)
+    {
+        TRACE_TERSE1("TaskAsdp: Gate Index %d:initialization status GateMP Fail.", GATEMP_INDEX_THD);
+    }
+    if (statusOp_Init(GATEMP_INDEX_DTS) == STATUSOP_INIT_FAIL)
+    {
+        TRACE_TERSE1("TaskAsdp: Gate Index %d:initialization status GateMP Fail.", GATEMP_INDEX_DTS);
+    }
+#endif
     
     /* Initialize HJT */
     pafhjt = &PAFHJT_RAM;
index 64ae97d37005b137bceb9c3d42f49993c4a81cb7..bcb99f6315876909f16cff7183b05cff738052f7 100644 (file)
@@ -61,4 +61,5 @@ All rights reserved.
 #include <car_a.h>\r
 #include <bmda_a.h>\r
 #include <dap_a.h>\r
+#include <dtsuhda_a.h>\r
 #endif /* _I13_A_H_ */\r
index ef3deddaa0d741d5f9315d95d836eeea18b40f1d..74cf156df0e378d8a0482e8bef3d0c32efc0cab8 100644 (file)
@@ -106,21 +106,29 @@ All rights reserved.
 #define  execPAIOutNone                 0xf130
 #define  execPAIOutAnalog               0xf131 //8 channel output analog (24bit)
 #define  execPAIOutAnalogSlave          0xf132 //8 channel output analog (24bit)
+#define  execPAIOutAnalog12Ch           0xf133 //12 channel output analog (24bit)
+#define  execPAIOutAnalog16Ch           0xf134 //16 channel output analog (24bit)
 
 // These values reflect the definition of devout[]
 #define DEVOUT_NULL             0
 #define DEVOUT_DAC              1
 #define DEVOUT_DAC_SLAVE        2
-#define DEVOUT_N                3
+#define DEVOUT_DAC_12CH         3
+#define DEVOUT_DAC_16CH         4
+#define DEVOUT_N                5
 
 
 #define wroteOBSioCommandNone                0xca00+STD_BETA_OB,0x0500+DEVOUT_NULL
 #define wroteOBSioCommandAnalog              0xca00+STD_BETA_OB,0x0500+DEVOUT_DAC
 #define wroteOBSioCommandAnalogSlave         0xca00+STD_BETA_OB,0x0500+DEVOUT_DAC_SLAVE
+#define wroteOBSioCommandAnalog12Ch          0xca00+STD_BETA_OB,0x0500+DEVOUT_DAC_12CH
+#define wroteOBSioCommandAnalog16Ch          0xca00+STD_BETA_OB,0x0500+DEVOUT_DAC_16CH
 
 #define wroteOBSioSelectNone                 0xca00+STD_BETA_OB,0x0580+DEVOUT_NULL
 #define wroteOBSioSelectAnalog               0xca00+STD_BETA_OB,0x0580+DEVOUT_DAC
 #define wroteOBSioSelectAnalogSlave          0xca00+STD_BETA_OB,0x0580+DEVOUT_DAC_SLAVE
+#define wroteOBSioSelectAnalog12Ch           0xca00+STD_BETA_OB,0x0580+DEVOUT_DAC_12CH
+#define wroteOBSioSelectAnalog16Ch           0xca00+STD_BETA_OB,0x0580+DEVOUT_DAC_16CH
 // -----------------------------------------------------------------------------
 
 #endif // _PAI_EVMK2G_IO_A_H_