summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/cisco/enic/enic_admin.h
blob: 62c80220b0cacce6a68861c58ce9f0e55be778ba (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
/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright 2025 Cisco Systems, Inc.  All rights reserved. */

#ifndef _ENIC_ADMIN_H_
#define _ENIC_ADMIN_H_

#define ENIC_ADMIN_DESC_COUNT	64
#define ENIC_ADMIN_BUF_SIZE	2048

struct enic;

/* Wrapper for received admin messages queued for deferred processing.
 * The admin CQ poll work handler enqueues these; a separate work handler
 * processes them where sleeping (mutex, GFP_KERNEL) is safe.
 */
struct enic_admin_msg {
	struct list_head list;
	unsigned int len;
	u8 data[] __aligned(8);
};

int enic_admin_channel_open(struct enic *enic);
void enic_admin_channel_close(struct enic *enic);
unsigned int enic_admin_wq_cq_service(struct enic *enic);
unsigned int enic_admin_rq_cq_service(struct enic *enic);

#endif /* _ENIC_ADMIN_H_ */