File Index
Files and directories
Sign in
FILE

iidc_rdma_idpf.h

File preview with syntax highlighting.

linux-6.19.14/include/linux/net/intel/iidc_rdma_idpf.h C
 1/* SPDX-License-Identifier: GPL-2.0 */
 2/* Copyright (C) 2025 Intel Corporation. */
 3
 4#ifndef _IIDC_RDMA_IDPF_H_
 5#define _IIDC_RDMA_IDPF_H_
 6
 7#include <linux/auxiliary_bus.h>
 8
 9/* struct to be populated by core LAN PCI driver */
10struct iidc_rdma_vport_dev_info {
11	struct auxiliary_device *adev;
12	struct auxiliary_device *core_adev;
13	struct net_device *netdev;
14	u16 vport_id;
15};
16
17struct iidc_rdma_vport_auxiliary_dev {
18	struct auxiliary_device adev;
19	struct iidc_rdma_vport_dev_info *vdev_info;
20};
21
22struct iidc_rdma_vport_auxiliary_drv {
23	struct auxiliary_driver adrv;
24	void (*event_handler)(struct iidc_rdma_vport_dev_info *vdev,
25			      struct iidc_rdma_event *event);
26};
27
28/* struct to be populated by core LAN PCI driver */
29enum iidc_function_type {
30	IIDC_FUNCTION_TYPE_PF,
31	IIDC_FUNCTION_TYPE_VF,
32};
33
34struct iidc_rdma_lan_mapped_mem_region {
35	u8 __iomem *region_addr;
36	__le64 size;
37	__le64 start_offset;
38};
39
40struct iidc_rdma_priv_dev_info {
41	struct msix_entry *msix_entries;
42	u16 msix_count; /* How many vectors are reserved for this device */
43	enum iidc_function_type ftype;
44	__le16 num_memory_regions;
45	struct iidc_rdma_lan_mapped_mem_region *mapped_mem_regions;
46};
47
48int idpf_idc_vport_dev_ctrl(struct iidc_rdma_core_dev_info *cdev_info, bool up);
49int idpf_idc_request_reset(struct iidc_rdma_core_dev_info *cdev_info,
50			   enum iidc_rdma_reset_type __always_unused reset_type);
51int idpf_idc_rdma_vc_send_sync(struct iidc_rdma_core_dev_info *cdev_info,
52			       u8 *send_msg, u16 msg_size,
53			       u8 *recv_msg, u16 *recv_len);
54
55#endif /* _IIDC_RDMA_IDPF_H_ */
~/ Read-only file preview.