blob: d0bc5afd18b49279d370cc9842e240d4a95499bd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
/*
* Copyright (c) 2014, Linaro Limited
* Copyright (c) 2014, Texas Instruments Incorporated
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef ODP_TI_MCSDK_H_
#define ODP_TI_MCSDK_H_
#ifdef __cplusplus
extern "C" {
#endif
/* Define asm for C99 compatibility */
#define asm __asm
#include <ti/csl/cslr_device.h>
#include <ti/runtime/hplib/hplib.h>
#include <ti/runtime/pktlib/pktlib.h>
#include <ti/drv/nwal/nwal.h>
#include <ti/drv/nwal/nwal_util.h>
#include <ti/drv/nwal/nwal_osal.h>
#include <odp/plat/mcsdk_tune.h>
/** @internal McSDK initialization configuration */
struct mcsdk_cfg_s {
int def_mem_size; /**< Bytes of CMA memory we have allocated */
int def_max_descriptors; /**< Number of descriptors in system (must be power of 2), 2^14 max */
int def_tot_descriptors_for_us; /**< Number of descriptors to create in our region (must be power of 2)*/
int def_heap_n_descriptors; /**< Number of descriptor plus buffers in default heap*/
int def_heap_n_zdescriptors; /**< Number of zero len descriptors in defaut heap*/
int def_heap_buf_size; /**< Size of buffers in default heap, max amount of area for packet data */
int def_heap_tailroom_size; /**< Size of tailroom in reserve */
int def_heap_extra_size; /**< Size of extra space at end of buffer */
int def_multi_process; /**< Flag to indicate if NETAPI init is for multi-process environment */
};
Rm_ServiceHandle *rm_client_init(void);
int mcsdk_global_init(void);
int mcsdk_global_term(void);
int mcsdk_local_init(int thread_id);
int mcsdk_cppi_init(void);
int mcsdk_qmss_init(int max_descriptors);
int mcsdk_qmss_start(void);
int mcsdk_qmss_exit(void);
int mcsdk_cppi_start(void);
int mcsdk_cppi_exit(void);
int mcsdk_qmss_setup_memregion(uint32_t desc_num, uint32_t desc_size,
uint32_t *desc_mem_base);
int mcsdk_qmss_remove_memregion(void);
int mcsdk_nwal_init(int region2use, Pktlib_HeapIfTable *p_table);
int mcsdk_nwal_start(Pktlib_HeapHandle pkt_heap,
Pktlib_HeapHandle cmd_rx_heap,
Pktlib_HeapHandle cmd_tx_heap);
int mcsdk_delete_heap(Pktlib_HeapHandle heap);
extern Pktlib_HeapIfTable pktlib_if_table;
extern hplib_virtualAddrInfo_T odp_vm_info;
#ifdef __cplusplus
}
#endif
#endif /* ODP_TI_MCSDK_H_ */
|