xref: /dpdk/drivers/net/nfp/nfpcore/nfp_rtsym.h (revision 987d6a8c00cb1671cd37867dd636a0fffb50d62d)
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2018 Netronome Systems, Inc.
3  * All rights reserved.
4  */
5 
6 #ifndef __NFP_RTSYM_H__
7 #define __NFP_RTSYM_H__
8 
9 #include "nfp_cpp.h"
10 
11 struct nfp_rtsym;
12 struct nfp_rtsym_table;
13 
14 struct nfp_rtsym_table *nfp_rtsym_table_read(struct nfp_cpp *cpp);
15 
16 int nfp_rtsym_count(struct nfp_rtsym_table *rtbl);
17 
18 const struct nfp_rtsym *nfp_rtsym_get(struct nfp_rtsym_table *rtbl, int idx);
19 
20 const struct nfp_rtsym *nfp_rtsym_lookup(struct nfp_rtsym_table *rtbl,
21 		const char *name);
22 
23 int nfp_rtsym_read(struct nfp_cpp *cpp, const struct nfp_rtsym *sym,
24 		uint64_t offset, void *buf, size_t len);
25 int nfp_rtsym_readl(struct nfp_cpp *cpp, const struct nfp_rtsym *sym,
26 		uint64_t offset, uint32_t *value);
27 int nfp_rtsym_readq(struct nfp_cpp *cpp, const struct nfp_rtsym *sym,
28 		uint64_t offset, uint64_t *value);
29 
30 int nfp_rtsym_write(struct nfp_cpp *cpp, const struct nfp_rtsym *sym,
31 		uint64_t offset, void *buf, size_t len);
32 int nfp_rtsym_writel(struct nfp_cpp *cpp, const struct nfp_rtsym *sym,
33 		uint64_t offset, uint32_t value);
34 int nfp_rtsym_writeq(struct nfp_cpp *cpp, const struct nfp_rtsym *sym,
35 		uint64_t offset, uint64_t value);
36 
37 uint64_t nfp_rtsym_read_le(struct nfp_rtsym_table *rtbl, const char *name,
38 		int *error);
39 int nfp_rtsym_write_le(struct nfp_rtsym_table *rtbl, const char *name,
40 		uint64_t value);
41 uint8_t *nfp_rtsym_map(struct nfp_rtsym_table *rtbl, const char *name,
42 		uint32_t min_size, struct nfp_cpp_area **area);
43 uint8_t *nfp_rtsym_map_offset(struct nfp_rtsym_table *rtbl, const char *name,
44 		uint32_t offset, uint32_t min_size, struct nfp_cpp_area **area);
45 int nfp_rtsym_readl_indirect(struct nfp_rtsym_table *rtbl, const char *aux_name,
46 		const char *name, uint32_t *value);
47 int nfp_rtsym_writel_indirect(struct nfp_rtsym_table *rtbl, const char *aux_name,
48 		const char *name, uint32_t value);
49 
50 #endif /* __NFP_RTSYM_H__ */
51