xref: /dpdk/drivers/net/nfp/nfpcore/nfp_mutex.h (revision 4b6c8db9a3365e5023d76f850c748f95ebdba17d)
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2023 Corigine, Inc.
3  * All rights reserved.
4  */
5 
6 #ifndef __NFP_MUTEX_H__
7 #define __NFP_MUTEX_H__
8 
9 #include "nfp_cpp.h"
10 
11 struct nfp_cpp_mutex;
12 
13 int nfp_cpp_mutex_init(struct nfp_cpp *cpp, int target,
14 		uint64_t address, uint32_t key_id);
15 
16 struct nfp_cpp_mutex *nfp_cpp_mutex_alloc(struct nfp_cpp *cpp, int target,
17 		uint64_t address, uint32_t key_id);
18 
19 void nfp_cpp_mutex_free(struct nfp_cpp_mutex *mutex);
20 int nfp_cpp_mutex_lock(struct nfp_cpp_mutex *mutex);
21 int nfp_cpp_mutex_unlock(struct nfp_cpp_mutex *mutex);
22 int nfp_cpp_mutex_trylock(struct nfp_cpp_mutex *mutex);
23 int nfp_cpp_mutex_reclaim(struct nfp_cpp *cpp, int target, uint64_t address);
24 
25 #endif /* __NFP_MUTEX_H__ */
26