Cleaned up system stream.
[processor-sdk/performance-audio-sr.git] / pasdk / test_dsp / framework / systemStream.h
2 /*
3 Copyright (c) 2016, Texas Instruments Incorporated - http://www.ti.com/
4 All rights reserved.
6 * Redistribution and use in source and binary forms, with or without 
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 *
13 * Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the
16 * distribution.
17 *
18 * Neither the name of Texas Instruments Incorporated nor the names of
19 * its contributors may be used to endorse or promote products derived
20 * from this software without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
26 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
27 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
28 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 *
34 */
36 /*
37  *  ======== systemStream.h ========
38  */
40 #ifndef _SYSTEM_STREAM_H_
41 #define _SYSTEM_STREAM_H_
43 #include <xdc/std.h>
44 #include <acp.h>
45 #include "pafsys.h"
47 #define PAF_SYSTEMSTREAMFXNS_XN 4
49 struct PAF_SST_Params;
50 struct PAF_SST_Config;
52 typedef void PAF_SST_FxnsMain 
53     (const struct PAF_SST_Params *, struct PAF_SST_Config *);
54 typedef Int PAF_SST_FxnsCompute 
55     (const struct PAF_SST_Params *, struct PAF_SST_Config *, Int64 *);
56 typedef Int PAF_SST_FxnsTransmit 
57     (const struct PAF_SST_Params *, struct PAF_SST_Config *, Int64 *);
59 // System Stream parameters, functions
60 typedef struct PAF_SST_Fxns {
61     PAF_SST_FxnsMain *main;
62     Int32 count;
63     struct {
64         PAF_SST_FxnsCompute  *compute;
65         PAF_SST_FxnsTransmit *transmit;
66     } sub[1];
67 } PAF_SST_Fxns;
69 // System Stream parameters
70 typedef struct PAF_SST_Params {
71     Int8 streams;
72     Int8 stream1; /* unused */
73     Int8 streamN; /* unused */
74     Int8 ss;
75     const PAF_SST_Fxns *fxns;
76 } PAF_SST_Params;
78 // System Stream configuration
79 typedef struct PAF_SST_Config {
80     UInt8 firstTimeInit;
81     ACP_Handle acp;
82     PAF_SystemStatus *pStatus;
83 } PAF_SST_Config;
85 typedef struct PAF_ERR_Config {
86     ACP_Handle acp;
87     PAF_ErrorStatus *pStatus;
88 } PAF_ERR_Config;
90 /* Audio Stream functions */
91 extern PAF_SST_FxnsMain     systemStreamMain;
92 extern PAF_SST_FxnsCompute  systemStream1Compute;
93 extern PAF_SST_FxnsTransmit systemStream1Transmit;
94 extern PAF_SST_FxnsCompute  systemStream2Compute;
95 extern PAF_SST_FxnsTransmit systemStream2Transmit;
96 extern PAF_SST_FxnsCompute  systemStream3Compute;
97 extern PAF_SST_FxnsTransmit systemStream3Transmit;
98 #ifdef THX
99 extern PAF_SST_FxnsCompute  systemStream4Compute;
100 extern PAF_SST_FxnsTransmit systemStream4Transmit;
101 #endif
102 extern PAF_SST_FxnsCompute  systemStream5Compute;
103 extern PAF_SST_FxnsTransmit systemStream5Transmit;
105 extern Int gSysStreamInit;
107 #endif /* _SYSTEM_STREAM_H_ */