#include <linux/bitops.h>
#include "ccm.h"
#include "nfp_app.h"
#include "nfp_net.h"
#define ccm_warn(app, msg...) …
#define NFP_CCM_TAG_ALLOC_SPAN …
static bool nfp_ccm_all_tags_busy(struct nfp_ccm *ccm)
{ … }
static int nfp_ccm_alloc_tag(struct nfp_ccm *ccm)
{ … }
static void nfp_ccm_free_tag(struct nfp_ccm *ccm, u16 tag)
{ … }
static struct sk_buff *__nfp_ccm_reply(struct nfp_ccm *ccm, u16 tag)
{ … }
static struct sk_buff *
nfp_ccm_reply(struct nfp_ccm *ccm, struct nfp_app *app, u16 tag)
{ … }
static struct sk_buff *
nfp_ccm_reply_drop_tag(struct nfp_ccm *ccm, struct nfp_app *app, u16 tag)
{ … }
static struct sk_buff *
nfp_ccm_wait_reply(struct nfp_ccm *ccm, struct nfp_app *app,
enum nfp_ccm_type type, int tag)
{ … }
struct sk_buff *
nfp_ccm_communicate(struct nfp_ccm *ccm, struct sk_buff *skb,
enum nfp_ccm_type type, unsigned int reply_size)
{ … }
void nfp_ccm_rx(struct nfp_ccm *ccm, struct sk_buff *skb)
{ … }
int nfp_ccm_init(struct nfp_ccm *ccm, struct nfp_app *app)
{ … }
void nfp_ccm_clean(struct nfp_ccm *ccm)
{ … }