7db03c61fa076afe94bd5417324eb78f27ac2e01
[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 typedef struct PAF_SST_Fxns {
60     PAF_SST_FxnsMain *main;
61     Int32 count;
62     struct {
63         PAF_SST_FxnsCompute  *compute;
64         PAF_SST_FxnsTransmit *transmit;
65     } sub[1];
66 } PAF_SST_Fxns;
68 typedef struct PAF_SST_Params {
69     Int8 streams;
70     Int8 stream1; /* unused */
71     Int8 streamN; /* unused */
72     Int8 ss;
73     const PAF_SST_Fxns *fxns;
74 } PAF_SST_Params;
76 typedef struct PAF_SST_Config {
77     ACP_Handle acp;
78     PAF_SystemStatus *pStatus;
79 } PAF_SST_Config;
81 typedef struct PAF_ERR_Config {
82     ACP_Handle acp;
83     PAF_ErrorStatus *pStatus;
84 } PAF_ERR_Config;
86 /* Audio Stream functions */
87 extern PAF_SST_FxnsMain     systemStreamMain;
88 extern PAF_SST_FxnsCompute  systemStream1Compute;
89 extern PAF_SST_FxnsTransmit systemStream1Transmit;
90 extern PAF_SST_FxnsCompute  systemStream2Compute;
91 extern PAF_SST_FxnsTransmit systemStream2Transmit;
92 extern PAF_SST_FxnsCompute  systemStream3Compute;
93 extern PAF_SST_FxnsTransmit systemStream3Transmit;
94 #ifdef THX
95 extern PAF_SST_FxnsCompute  systemStream4Compute;
96 extern PAF_SST_FxnsTransmit systemStream4Transmit;
97 #endif
98 extern PAF_SST_FxnsCompute  systemStream5Compute;
99 extern PAF_SST_FxnsTransmit systemStream5Transmit;
101 #endif /* _SYSTEM_STREAM_H_ */