|
iPXE
|
#include "mlx_nodnic/include/mlx_nodnic_data_structures.h"#include "nodnic_prm.h"#include <ipxe/io.h>#include <ipxe/infiniband.h>#include <ipxe/netdevice.h>#include "mlx_utils/mlx_lib/mlx_nvconfig/mlx_nvconfig.h"Go to the source code of this file.
Data Structures | |
| struct | flexboot_nodnic_port |
| A flexboot nodnic port. More... | |
| struct | flexboot_nodnic_queue_pair |
| A flexboot nodnic queue pair. More... | |
| struct | flexboot_nodnic_completion_queue |
| A flexboot nodnic cq. More... | |
| struct | flexboot_nodnic |
| A flexboot_nodnic device. More... | |
| struct | flexboot_nodnic_port_type |
| A flexboot_nodnic port type. More... | |
| struct | cqe_data |
| union | arm_cq_uar |
| struct | flexboot_nodnic_callbacks |
Macros | |
| #define | NODNIC_IRQ_ENABLED |
| #define | FLEXBOOT_NODNIC_MAX_PORTS 2 |
| #define | FLEXBOOT_NODNIC_PORT_BASE 1 |
| #define | FLEXBOOT_NODNIC_OPCODE_SEND 0xa |
| #define | FLEXBOOT_NODNIC_HCA_BAR PCI_BASE_ADDRESS_0 |
| #define | FLEXBOOT_NODNIC_PAGE_SHIFT 12 |
| #define | FLEXBOOT_NODNIC_PAGE_SIZE (1 << FLEXBOOT_NODNIC_PAGE_SHIFT) |
| #define | FLEXBOOT_NODNIC_PAGE_MASK (FLEXBOOT_NODNIC_PAGE_SIZE - 1) |
| #define | EN_DEFAULT_ADMIN_MTU 1522 |
Enumerations | |
| enum | flexboot_nodnic_protocol { FLEXBOOT_NODNIC_PROT_IB_IPV6 = 0, FLEXBOOT_NODNIC_PROT_ETH, FLEXBOOT_NODNIC_PROT_IB_IPV4, FLEXBOOT_NODNIC_PROT_FCOE } |
Functions | |
| FILE_LICENCE (GPL2_OR_LATER) | |
| int | flexboot_nodnic_probe (struct pci_device *pci, struct flexboot_nodnic_callbacks *callbacks, void *drv_priv) |
| void | flexboot_nodnic_remove (struct pci_device *pci) |
| void | flexboot_nodnic_eth_irq (struct net_device *netdev, int enable) |
| int | flexboot_nodnic_is_supported (struct pci_device *pci) |
| void | flexboot_nodnic_copy_mac (uint8_t mac_addr[], uint32_t low_byte, uint16_t high_byte) |
| int | init_mlx_utils (mlx_utils **utils, struct pci_device *pci) |
| void | free_mlx_utils (mlx_utils **utils) |
| #define NODNIC_IRQ_ENABLED |
Definition at line 35 of file flexboot_nodnic.h.
| #define FLEXBOOT_NODNIC_MAX_PORTS 2 |
Definition at line 37 of file flexboot_nodnic.h.
| #define FLEXBOOT_NODNIC_PORT_BASE 1 |
Definition at line 38 of file flexboot_nodnic.h.
| #define FLEXBOOT_NODNIC_OPCODE_SEND 0xa |
Definition at line 40 of file flexboot_nodnic.h.
| #define FLEXBOOT_NODNIC_HCA_BAR PCI_BASE_ADDRESS_0 |
Definition at line 41 of file flexboot_nodnic.h.
| #define FLEXBOOT_NODNIC_PAGE_SHIFT 12 |
Definition at line 42 of file flexboot_nodnic.h.
| #define FLEXBOOT_NODNIC_PAGE_SIZE (1 << FLEXBOOT_NODNIC_PAGE_SHIFT) |
Definition at line 43 of file flexboot_nodnic.h.
| #define FLEXBOOT_NODNIC_PAGE_MASK (FLEXBOOT_NODNIC_PAGE_SIZE - 1) |
Definition at line 44 of file flexboot_nodnic.h.
| #define EN_DEFAULT_ADMIN_MTU 1522 |
Definition at line 45 of file flexboot_nodnic.h.
| Enumerator | |
|---|---|
| FLEXBOOT_NODNIC_PROT_IB_IPV6 | |
| FLEXBOOT_NODNIC_PROT_ETH | |
| FLEXBOOT_NODNIC_PROT_IB_IPV4 | |
| FLEXBOOT_NODNIC_PROT_FCOE | |
Definition at line 48 of file flexboot_nodnic.h.
| FILE_LICENCE | ( | GPL2_OR_LATER | ) |
| int flexboot_nodnic_probe | ( | struct pci_device * | pci, |
| struct flexboot_nodnic_callbacks * | callbacks, | ||
| void * | drv_priv | ||
| ) |
| void flexboot_nodnic_remove | ( | struct pci_device * | pci | ) |
Definition at line 1584 of file flexboot_nodnic.c.
References flexboot_nodnic::device_priv, flexboot_nodnic_dealloc_uar(), flexboot_nodnic_ports_unregister_dev(), free, free_mlx_utils(), nodnic_device_teardown(), flexboot_nodnic::pci, pci_get_drvdata(), and _nodnic_device_priv::utils.
Referenced by golan_remove().
| void flexboot_nodnic_eth_irq | ( | struct net_device * | netdev, |
| int | enable | ||
| ) |
Definition at line 1029 of file flexboot_nodnic.c.
References flexboot_nodnic_arm_cq(), netdev, nodnic_device_clear_int(), NODNIC_PORT_DISABLING_DMA, NODNIC_PORT_OPENED, port, and net_device::priv.
| int flexboot_nodnic_is_supported | ( | struct pci_device * | pci | ) |
Definition at line 1306 of file flexboot_nodnic.c.
References buffer, DBG, memset(), MLX_CHECK_STATUS, mlx_pci_gw_init(), mlx_pci_gw_read(), mlx_pci_gw_teardown(), MLX_SUCCESS, mlx_utils_init(), mlx_utils_teardown(), NODNIC_NIC_INTERFACE_SUPPORTED_BIT, NODNIC_NIC_INTERFACE_SUPPORTED_OFFSET, PCI_GW_SPACE_NODNIC, and status.
Referenced by shomron_nodnic_is_supported().
| int init_mlx_utils | ( | mlx_utils ** | utils, |
| struct pci_device * | pci | ||
| ) |
Definition at line 1404 of file flexboot_nodnic.c.
References DBGC, free, mlx_pci_gw_init(), mlx_pci_gw_teardown(), mlx_utils_init(), mlx_utils_teardown(), NULL, rc, and zalloc().
Referenced by flexboot_nodnic_probe(), golan_probe_normal(), and golan_set_link_speed().
| void free_mlx_utils | ( | mlx_utils ** | utils | ) |
Definition at line 1437 of file flexboot_nodnic.c.
References free, mlx_pci_gw_teardown(), mlx_utils_teardown(), and NULL.
Referenced by flexboot_nodnic_probe(), flexboot_nodnic_remove(), golan_probe_normal(), golan_remove_normal(), and golan_set_link_speed().
1.8.15