Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00048 #ifndef DSKT2_
00049 #define DSKT2_
00050
00051 #ifdef __cplusplus
00052 extern "C" {
00053 #endif
00054
00057
00058 #include <xdc/std.h>
00059 #include <xdc/runtime/IHeap.h>
00060
00061 #include <ti/xdais/ialg.h>
00062 #include <ti/xdais/ires.h>
00063 #include <stddef.h>
00064
00065 #define DSKT2_NUM_SCRATCH_GROUPS 20
00069 #define DSKT2_MAX_MEM_ALLOCATION_SIZE 0xFFFF
00073
00074 #define DSKT2_NUM_SHAREDHEAPS 2
00075
00084 #define DSKT2_MODNAME "ti.sdo.fc.dskt2"
00085
00093 typedef Void (*DSKT2_CacheWBInvFxn)(Ptr blockPtr, size_t byteCnt, Bool wait);
00094
00095
00099 extern __FAR__ DSKT2_CacheWBInvFxn DSKT2_cacheWBInvFxn;
00100
00101
00102
00103 extern xdc_runtime_IHeap_Handle DSKT2_daram0Heap;
00104 extern xdc_runtime_IHeap_Handle DSKT2_daram1Heap;
00105 extern xdc_runtime_IHeap_Handle DSKT2_daram2Heap;
00106 extern xdc_runtime_IHeap_Handle DSKT2_saram0Heap;
00107 extern xdc_runtime_IHeap_Handle DSKT2_saram1Heap;
00108 extern xdc_runtime_IHeap_Handle DSKT2_saram2Heap;
00109 extern xdc_runtime_IHeap_Handle DSKT2_iprogHeap;
00110 extern xdc_runtime_IHeap_Handle DSKT2_eprogHeap;
00111 extern xdc_runtime_IHeap_Handle DSKT2_esdataHeap;
00112 extern xdc_runtime_IHeap_Handle _DSKT2_heap;
00113
00114 extern __FAR__ UInt _DSKT2_ALLOW_EXTERNAL_SCRATCH;
00115
00116 extern UInt _DSKT2_DARAM_SCRATCH_SIZES[];
00117 extern UInt _DSKT2_SARAM_SCRATCH_SIZES[];
00118
00119
00120
00124 extern __FAR__ Bool ti_sdo_fc_dskt2_DSKT2_disableLazyDeactivate;
00125
00190 extern Void DSKT2_activateAlg(Int scratchMutexId, IALG_Handle alg);
00191
00192
00225 extern Int DSKT2_controlAlg(IALG_Handle alg, IALG_Cmd cmd,
00226 IALG_Status *status);
00227
00228
00307 extern IALG_Handle DSKT2_createAlg(Int scratchMutexId, IALG_Fxns * fxns,
00308 IALG_Handle parent, IALG_Params * params);
00309
00310
00404 extern IALG_Handle DSKT2_createAlg2(Int scratchMutexId, IALG_Fxns * fxns,
00405 IALG_Handle parent, IALG_Params * params,
00406 xdc_runtime_IHeap_Handle extHeapId);
00407
00408
00484 IALG_Handle DSKT2_createAlgExt(Int scratchId, IALG_Fxns * fxns,
00485 IALG_Handle parent, IALG_Params * params);
00486
00539 extern Void DSKT2_deactivateAlg(Int scratchMutexId, IALG_Handle alg);
00540
00552 extern Int DSKT2_deactivateAll();
00553
00588 extern Bool DSKT2_freeAlg(Int scratchMutexId, IALG_Handle alg);
00589
00619 extern Bool DSKT2_allocScratch(IALG_Handle alg,Int mutexId, IALG_MemRec *memTab,
00620 Int numRecs);
00644 extern Void DSKT2_freeScratch(Int mutexId, Void *addr, UInt size);
00645
00658 extern Bool DSKT2_allocPersistent(IALG_MemRec *memTab, Int numRecs);
00659
00672 extern Void DSKT2_freePersistent(IALG_MemRec *memTab, Int numRecs);
00673
00674
00675
00676
00677
00685 Void DSKT2_yield(IRES_YieldResourceType resource,
00686 IRES_YieldContextHandle algYieldContext, IRES_YieldArgs yieldArgs);
00687
00692 IRES_YieldArgs DSKT2_getYieldArgs(Int scratchId);
00693
00698 IRES_YieldArgs DSKT2_setYieldArgs(Int scratchId, Bool yieldFlag);
00699
00700
00701 Void DSKT2_contextRelease(IRES_YieldResourceType resource,
00702 IRES_YieldContextHandle algYieldContext, IRES_YieldArgs yieldArgs);
00703
00704 Void DSKT2_contextAcquire(IRES_YieldResourceType resource,
00705 IRES_YieldContextHandle algYieldContext, IRES_YieldArgs yieldArgs);
00706
00707
00711
00712 #ifdef __cplusplus
00713 }
00714 #endif
00715
00716 #endif
00717
00718
00719
00720
00721
00722