FILE
iidc_rdma_idpf.h
File preview with syntax highlighting.
linux-6.19.14/include/linux/net/intel/iidc_rdma_idpf.h
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.