File Index
Files and directories
Sign in
FILE

iidc_rdma_ice.h

File preview with syntax highlighting.

linux-6.19.14/include/linux/net/intel/iidc_rdma_ice.h C
 1/* SPDX-License-Identifier: GPL-2.0 */
 2/* Copyright (C) 2021-2025, Intel Corporation. */
 3
 4#ifndef _IIDC_RDMA_ICE_H_
 5#define _IIDC_RDMA_ICE_H_
 6
 7#include <linux/dcbnl.h>
 8
 9#define IIDC_MAX_USER_PRIORITY         8
10#define IIDC_DSCP_PFC_MODE             0x1
11
12/**
13 * struct iidc_rdma_qset_params - Struct to hold per RDMA Qset info
14 * @teid: TEID of the Qset node
15 * @qs_handle: SW index of the Qset, RDMA provides this
16 * @vport_id: VSI index
17 * @tc: Traffic Class branch the QSet should belong to
18 */
19struct iidc_rdma_qset_params {
20	/* Qset TEID returned to the RDMA driver in
21	 * ice_add_rdma_qset and used by RDMA driver
22	 * for calls to ice_del_rdma_qset
23	 */
24	u32 teid;
25	u16 qs_handle;
26	u16 vport_id;
27	u8 tc;
28};
29
30struct iidc_rdma_qos_info {
31	u64 tc_ctx;
32	u8 rel_bw;
33	u8 prio_type;
34	u8 egress_virt_up;
35	u8 ingress_virt_up;
36};
37
38/* Struct to pass QoS info */
39struct iidc_rdma_qos_params {
40	struct iidc_rdma_qos_info tc_info[IEEE_8021QAZ_MAX_TCS];
41	u8 up2tc[IIDC_MAX_USER_PRIORITY];
42	u8 vport_relative_bw;
43	u8 vport_priority_type;
44	u8 num_tc;
45	u8 pfc_mode;
46	u8 dscp_map[DSCP_MAX];
47};
48
49struct iidc_rdma_priv_dev_info {
50	u8 pf_id;
51	u16 vport_id;
52	struct net_device *netdev;
53	struct iidc_rdma_qos_params qos_info;
54	u8 __iomem *hw_addr;
55};
56
57int ice_add_rdma_qset(struct iidc_rdma_core_dev_info *cdev,
58		      struct iidc_rdma_qset_params *qset);
59int ice_del_rdma_qset(struct iidc_rdma_core_dev_info *cdev,
60		      struct iidc_rdma_qset_params *qset);
61int ice_rdma_request_reset(struct iidc_rdma_core_dev_info *cdev,
62			   enum iidc_rdma_reset_type reset_type);
63int ice_rdma_update_vsi_filter(struct iidc_rdma_core_dev_info *cdev, u16 vsi_id,
64			       bool enable);
65int ice_alloc_rdma_qvector(struct iidc_rdma_core_dev_info *cdev,
66			   struct msix_entry *entry);
67void ice_free_rdma_qvector(struct iidc_rdma_core_dev_info *cdev,
68			   struct msix_entry *entry);
69
70#endif /* _IIDC_RDMA_ICE_H_*/
~/ Read-only file preview.