DSPLIB User Guide
DSPLIB_fir_priv.h
Go to the documentation of this file.
1 /******************************************************************************
2  * *
3  * module name :DSPLIB *
4  * *
5  * module descripton :Matrix Multiply Accelerator Library module for C7x+MMA *
6  * *
7  * Copyright (C) 2017-2018 Texas Instruments Incorporated - https://www.ti.com/ *
8  * ALL RIGHTS RESERVED *
9  * *
10  ******************************************************************************/
11 
12 /********************************************************************************
13  * @file DSPLIB_fir_priv.h
14  *
15  * @brief File to hold private parameter of function DSPLIB_FIR
16  *
17  * @version 0.1 - Mar 2022 : Initial Version
18  *
19  ********************************************************************************/
20 
21 #ifndef DSPLIB_FIR_IXX_IXX_OXX_PRIV_H_
22 #define DSPLIB_FIR_IXX_IXX_OXX_PRIV_H_
23 
24 #include "../common/DSPLIB_utility.h"
25 #include "DSPLIB_fir.h"
26 
38 #define DSPLIB_FIR_IXX_IXX_OXX_PBLOCK_SIZE (3 * SE_PARAM_SIZE + 1 * DSPLIB_PARAM_SIZE + 2 * sizeof(int32_t))
39 
46  void *restrict pIn,
47  void *restrict pFilter,
48  void *restrict pOut);
49 
80 template <typename dataType>
82  const DSPLIB_bufParams2D_t *bufParamsIn,
83  const DSPLIB_bufParams2D_t *bufParamsFilter,
84  const DSPLIB_bufParams2D_t *bufParamsOut,
85  const DSPLIB_fir_InitArgs *pKerInitArgs);
86 
113 template <typename dataType>
114 extern DSPLIB_STATUS
115 DSPLIB_fir_exec_ci(DSPLIB_kernelHandle handle, void *restrict pIn, void *restrict pFilter, void *restrict pOut);
116 
133 template <typename dataType, typename accumulateType>
134 extern DSPLIB_STATUS
135 DSPLIB_fir_exec_cn(DSPLIB_kernelHandle handle, void *restrict pIn, void *restrict pFilter, void *restrict pOut);
136 
161 template <typename dataType>
163  DSPLIB_bufParams2D_t *bufParamsIn,
164  DSPLIB_bufParams2D_t *bufParamsFilter,
165  DSPLIB_bufParams2D_t *bufParamsOut);
166 
170 typedef struct {
189  uint32_t filterPitch;
195  uint32_t flag;
196  int32_t dataLoopSize;
197  int32_t outputSize;
198  int32_t filterLoopSize;
202 
225  DSPLIB_bufParams2D_t *bufParamsIn,
226  DSPLIB_bufParams2D_t *bufParamsFilter,
227  DSPLIB_bufParams2D_t *bufParamsOut,
228  DSPLIB_fir_InitArgs *pKerInitArgs);
229 
230 #endif /* DSPLIB_FIR_IXX_IXX_OXX_PRIV_H_ */
231 
232 /* ======================================================================== */
233 /* End of file: DSPLIB_fir.h */
234 /* ======================================================================== */
DSPLIB_STATUS DSPLIB_fir_init_ci(DSPLIB_kernelHandle handle, const DSPLIB_bufParams2D_t *bufParamsIn, const DSPLIB_bufParams2D_t *bufParamsFilter, const DSPLIB_bufParams2D_t *bufParamsOut, const DSPLIB_fir_InitArgs *pKerInitArgs)
This function is the initialization function for the C7x implementation of the kernel....
DSPLIB_STATUS DSPLIB_fir_exec_cn(DSPLIB_kernelHandle handle, void *restrict pIn, void *restrict pFilter, void *restrict pOut)
This function is the main execution function for the natural C implementation of the kernel....
DSPLIB_STATUS DSPLIB_fir_init_cn(DSPLIB_kernelHandle handle, DSPLIB_bufParams2D_t *bufParamsIn, DSPLIB_bufParams2D_t *bufParamsFilter, DSPLIB_bufParams2D_t *bufParamsOut, DSPLIB_fir_InitArgs *pKerInitArgs)
This function is the initialization function for the natural C implementation of the kernel....
DSPLIB_STATUS DSPLIB_fir_exec_ci(DSPLIB_kernelHandle handle, void *restrict pIn, void *restrict pFilter, void *restrict pOut)
This function is the main execution function for the C7x implementation of the kernel....
#define DSPLIB_FIR_IXX_IXX_OXX_PBLOCK_SIZE
Macro to define the size of bufPblock array of DSPLIB_fir_PrivArgs structure.
DSPLIB_STATUS(* pFxnDSPLIB_fir_exec)(DSPLIB_kernelHandle handle, void *restrict pIn, void *restrict pFilter, void *restrict pOut)
This is a function pointer type that conforms to the declaration of DSPLIB_fir_exec_ci and DSPLIB_fir...
DSPLIB_STATUS_NAME DSPLIB_STATUS
Return value for DSPLIB functions.
Definition: DSPLIB_types.h:170
DSPLIB_STATUS_NAME
The enumeration of all status codes.
Definition: DSPLIB_types.h:151
void * DSPLIB_kernelHandle
Handle type for DSPLIB operations.
Definition: DSPLIB_types.h:172
DSPLIB_STATUS DSPLIB_fir_getSizes(const DSPLIB_fir_InitArgs *pKerInitArgs, DSPLIB_bufParams2D_t *bufParamsIn, DSPLIB_bufParams2D_t *bufParamsFilter, DSPLIB_bufParams2D_t *bufParamsOut)
This function is a utility function that the application calls to obtain the sizes of data buffers.
Definition: DSPLIB_fir.cpp:90
A structure for a 2 dimensional buffer descriptor.
Structure containing the parameters to initialize the kernel.
Definition: DSPLIB_fir.h:105
Structure that is reserved for internal use by the kernel.
uint32_t flag
Array to store the configuration prepared by DSPLIB_fir_init_ci that will be retrieved and used by DS...
uint32_t dataBufferOutPitch
Pitch of output buffer for different batches DSPLIB_fir_init that will be retrieved and used by DSPLI...
uint32_t filterPitch
Pitch of filter coefficient buffer for different batches DSPLIB_fir_init that will be retrieved and u...
uint32_t dataBufferInPitch
Pitch of input buffer for different batches DSPLIB_fir_init that will be retrieved and used by DSPLIB...
DSPLIB_fir_InitArgs initArgs
Structure holding initialization parameters
pFxnDSPLIB_fir_exec execute
Function pointer to point to the right execution variant between DSPLIB_fir_exec_cn and DSPLIB_fir_ex...