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