iPXE
|
#include "mlx_nodnic_data_structures.h"
Go to the source code of this file.
Data Structures | |
struct | nodnic_port_data_entry |
struct | nodnic_qp_data_entry |
Macros | |
#define | NODNIC_PORT_MAC_FILTERS_OFFSET 0x10 |
Variables | |
typedef | __attribute |
#define NODNIC_PORT_MAC_FILTERS_OFFSET 0x10 |
Definition at line 27 of file mlx_port.h.
enum nodnic_port_option |
Definition at line 29 of file mlx_port.h.
enum nodnic_port_state |
Enumerator | |
---|---|
nodnic_port_state_down | |
nodnic_port_state_initialize | |
nodnic_port_state_armed | |
nodnic_port_state_active |
Definition at line 69 of file mlx_port.h.
FILE_LICENCE | ( | GPL2_OR_LATER | ) |
mlx_status nodnic_port_get_state | ( | IN nodnic_port_priv * | port_priv, |
OUT nodnic_port_state * | state | ||
) |
Definition at line 88 of file mlx_port.c.
References MLX_CHECK_STATUS, MLX_SUCCESS, nodnic_port_option_port_state, nodnic_port_query(), out, state, and status.
Referenced by flexboot_nodnic_eth_open(), and flexboot_nodnic_poll_eq().
mlx_status nodnic_port_get_type | ( | IN nodnic_port_priv * | port_priv, |
OUT nodnic_port_type * | type | ||
) |
Definition at line 105 of file mlx_port.c.
References MLX_FATAL_CHECK_STATUS, MLX_SUCCESS, nodnic_port_option_link_type, nodnic_port_query(), NODNIC_PORT_TYPE_UNKNOWN, out, status, and type.
Referenced by flexboot_nodnic_set_ports_type().
mlx_status nodnic_port_query | ( | IN nodnic_port_priv * | port_priv, |
IN nodnic_port_option | option, | ||
OUT mlx_uint32 * | out | ||
) |
Definition at line 126 of file mlx_port.c.
References nodnic_port_data_entry::align, buffer, nodnic_port_data_entry::mask, MLX_CHECK_STATUS, MLX_INVALID_PARAMETER, MLX_SUCCESS, nodnic_cmd_read(), nodnic_port_data_table, NULL, nodnic_port_data_entry::offset, nodnic_port_data_entry::option, out, and status.
Referenced by flexboot_nodnic_create_cq(), flexboot_nodnic_register_netdev(), nodnic_port_add_mac_filter(), nodnic_port_get_cq_size(), nodnic_port_get_state(), nodnic_port_get_type(), nodnic_port_read_port_management_change_event(), nodnic_port_read_reset_needed(), nodnic_port_remove_mac_filter(), and nodnic_port_set_send_uar_offset().
mlx_status nodnic_port_set | ( | IN nodnic_port_priv * | port_priv, |
IN nodnic_port_option | option, | ||
IN mlx_uint32 | in | ||
) |
Definition at line 155 of file mlx_port.c.
References nodnic_port_data_entry::align, buffer, in, nodnic_port_data_entry::mask, MLX_DEBUG_FATAL_ERROR, MLX_FATAL_CHECK_STATUS, MLX_INVALID_PARAMETER, MLX_SUCCESS, nodnic_cmd_read(), nodnic_cmd_write(), nodnic_port_data_table, NULL, nodnic_port_data_entry::offset, nodnic_port_data_entry::option, and status.
Referenced by flexboot_nodnic_arm_cq(), nodnic_port_add_mac_filter(), nodnic_port_allocate_eq(), nodnic_port_create_cq(), nodnic_port_remove_mac_filter(), nodnic_port_set_dma(), nodnic_port_set_network(), nodnic_port_set_promisc(), nodnic_port_set_promisc_multicast(), and nodnic_port_thin_init().
mlx_status nodnic_port_create_cq | ( | IN nodnic_port_priv * | port_priv, |
IN mlx_size | cq_size, | ||
OUT nodnic_cq ** | cq | ||
) |
Definition at line 360 of file mlx_port.c.
References address, MLX_FATAL_CHECK_STATUS, MLX_INVALID_PARAMETER, mlx_memory_alloc_dma(), mlx_memory_free(), mlx_memory_free_dma(), mlx_memory_map_dma(), mlx_memory_ummap_dma(), mlx_memory_zalloc(), MLX_SUCCESS, NODNIC_MEMORY_ALIGN, nodnic_port_cq_dbr_dma_init(), nodnic_port_option_cq_addr_high, nodnic_port_option_cq_addr_low, nodnic_port_set(), NULL, status, and _nodnic_device_priv::utils.
Referenced by flexboot_nodnic_create_cq().
mlx_status nodnic_port_destroy_cq | ( | IN nodnic_port_priv * | port_priv, |
IN nodnic_cq * | cq | ||
) |
Definition at line 426 of file mlx_port.c.
References _nodnic_device_priv::device_cap, MLX_DEBUG_ERROR, MLX_INVALID_PARAMETER, mlx_memory_free(), mlx_memory_free_dma(), mlx_memory_ummap_dma(), MLX_SUCCESS, NULL, status, _nodnic_device_capabilites::support_bar_cq_ctrl, and _nodnic_device_priv::utils.
Referenced by flexboot_nodnic_destroy_cq().
mlx_status nodnic_port_create_qp | ( | IN nodnic_port_priv * | port_priv, |
IN nodnic_queue_pair_type | type, | ||
IN mlx_size | send_wq_size, | ||
IN mlx_uint32 | send_wqe_num, | ||
IN mlx_size | receive_wq_size, | ||
IN mlx_uint32 | recv_wqe_num, | ||
OUT nodnic_qp ** | qp | ||
) |
Definition at line 585 of file mlx_port.c.
References address, _nodnic_device_priv::device_cap, _nodnic_device_capabilites::log_max_ring_size, MLX_FATAL_CHECK_STATUS, MLX_INVALID_PARAMETER, mlx_memory_alloc_dma(), mlx_memory_free(), mlx_memory_free_dma(), mlx_memory_map_dma(), mlx_memory_set(), mlx_memory_ummap_dma(), mlx_memory_zalloc(), MLX_SUCCESS, mlx_utils_ilog2(), NODIC_RING_QP_ADDR_HIGH, NODIC_RING_QP_ADDR_LOW, nodnic_cmd_write(), NODNIC_MEMORY_ALIGN, nodnic_port_rx_pi_dma_alloc(), nodnic_port_tx_dbr_dma_init(), nodnic_qp_data_teable, NULL, qp, nodnic_qp_data_entry::recv_offset, nodnic_qp_data_entry::send_offset, status, type, and _nodnic_device_priv::utils.
Referenced by flexboot_nodnic_create_qp().
mlx_status nodnic_port_destroy_qp | ( | IN nodnic_port_priv * | port_priv, |
IN nodnic_queue_pair_type | type, | ||
IN nodnic_qp * | qp | ||
) |
Definition at line 726 of file mlx_port.c.
References _nodnic_device_priv::device_cap, MLX_DEBUG_ERROR, mlx_memory_free(), mlx_memory_free_dma(), mlx_memory_ummap_dma(), MLX_SUCCESS, _nodnic_uar_priv::offset, qp, status, _nodnic_device_capabilites::support_rx_pi_dma, _nodnic_device_capabilites::support_uar_tx_db, _nodnic_device_priv::uar, and _nodnic_device_priv::utils.
Referenced by flexboot_nodnic_destroy_qp().
mlx_status nodnic_port_get_qpn | ( | IN nodnic_port_priv * | port_priv, |
IN struct nodnic_ring * | ring, | ||
OUT mlx_uint32 * | qpn | ||
) |
Definition at line 796 of file mlx_port.c.
References buffer, MLX_FATAL_CHECK_STATUS, MLX_INVALID_PARAMETER, MLX_SUCCESS, nodnic_cmd_read(), NODNIC_RING_QPN_MASK, NODNIC_RING_QPN_OFFSET, NULL, qpn, and status.
Referenced by flexboot_nodnic_eth_open(), flexboot_nodnic_find_wq(), and shomron_fill_eth_send_wqe().
mlx_status nodnic_port_update_ring_doorbell | ( | IN nodnic_port_priv * | port_priv, |
IN struct nodnic_ring * | ring, | ||
IN mlx_uint16 | index | ||
) |
Definition at line 874 of file mlx_port.c.
References buffer, index, MLX_CHECK_STATUS, MLX_INVALID_PARAMETER, MLX_SUCCESS, nodnic_cmd_write(), NODNIC_RING_RING_OFFSET, NULL, and status.
Referenced by nodnic_port_thin_init().
mlx_status nodnic_port_get_cq_size | ( | IN nodnic_port_priv * | port_priv, |
OUT mlx_uint64 * | cq_size | ||
) |
Definition at line 899 of file mlx_port.c.
References MLX_FATAL_CHECK_STATUS, MLX_SUCCESS, nodnic_port_option_log_cq_size, nodnic_port_query(), out, and status.
Referenced by flexboot_nodnic_eth_open().
mlx_status nodnic_port_allocate_eq | ( | IN nodnic_port_priv * | port_priv, |
IN mlx_uint8 | log_eq_size | ||
) |
Definition at line 915 of file mlx_port.c.
References address, MLX_FATAL_CHECK_STATUS, MLX_INVALID_PARAMETER, mlx_memory_alloc_dma(), mlx_memory_free_dma(), mlx_memory_map_dma(), mlx_memory_ummap_dma(), MLX_SUCCESS, NODNIC_MEMORY_ALIGN, nodnic_port_option_eq_addr_high, nodnic_port_option_eq_addr_low, nodnic_port_set(), NULL, status, and _nodnic_device_priv::utils.
Referenced by flexboot_nodnic_eth_open().
mlx_status nodnic_port_free_eq | ( | IN nodnic_port_priv * | port_priv | ) |
Definition at line 968 of file mlx_port.c.
References MLX_INVALID_PARAMETER, mlx_memory_free_dma(), mlx_memory_ummap_dma(), MLX_SUCCESS, NULL, status, and _nodnic_device_priv::utils.
Referenced by flexboot_nodnic_eth_close(), and flexboot_nodnic_eth_open().
mlx_status nodnic_port_add_mac_filter | ( | IN nodnic_port_priv * | port_priv, |
IN mlx_mac_address | mac | ||
) |
Definition at line 992 of file mlx_port.c.
References address, index, mac, MLX_CHECK_STATUS, MLX_FAILED, MLX_INVALID_PARAMETER, mlx_memory_cmp(), mlx_memory_set(), MLX_SUCCESS, nodnic_cmd_write(), NODNIC_MAX_MAC_FILTERS, NODNIC_PORT_MAC_FILTERS_OFFSET, nodnic_port_option_mac_filters_en, nodnic_port_query(), nodnic_port_set(), NULL, out, and status.
Referenced by flexboot_nodnic_mcast_attach().
mlx_status nodnic_port_remove_mac_filter | ( | IN nodnic_port_priv * | port_priv, |
IN mlx_mac_address | mac | ||
) |
Definition at line 1073 of file mlx_port.c.
References index, mac, MLX_CHECK_STATUS, MLX_FAILED, MLX_INVALID_PARAMETER, mlx_memory_cmp(), mlx_memory_set(), MLX_SUCCESS, NODNIC_MAX_MAC_FILTERS, nodnic_port_option_mac_filters_en, nodnic_port_query(), nodnic_port_set(), NULL, out, and status.
Referenced by flexboot_nodnic_mcast_detach().
mlx_status nodnic_port_add_mgid_filter | ( | IN nodnic_port_priv * | port_priv, |
IN mlx_mac_address | mac | ||
) |
mlx_status nodnic_port_remove_mgid_filter | ( | IN nodnic_port_priv * | port_priv, |
IN mlx_mac_address | mac | ||
) |
mlx_status nodnic_port_thin_init | ( | IN nodnic_device_priv * | device_priv, |
IN nodnic_port_priv * | port_priv, | ||
IN mlx_uint8 | port_index | ||
) |
Definition at line 1315 of file mlx_port.c.
References MLX_FAILED, MLX_INVALID_PARAMETER, MLX_SUCCESS, nodnic_cmd_read(), nodnic_port_offset_table, nodnic_port_read_reset_needed(), nodnic_port_recv_db_dma(), nodnic_port_set(), nodnic_port_set_dma(), NODNIC_PORT_TYPE_UNKNOWN, nodnic_port_update_ring_doorbell(), NULL, offset, and status.
Referenced by flexboot_nodnic_thin_init_ports().
mlx_status nodnic_port_set_promisc | ( | IN nodnic_port_priv * | port_priv, |
IN mlx_boolean | value | ||
) |
Definition at line 1205 of file mlx_port.c.
References buffer, MLX_CHECK_STATUS, MLX_SUCCESS, nodnic_port_option_port_promisc_en, nodnic_port_set(), status, and value.
Referenced by flexboot_nodnic_eth_close(), and flexboot_nodnic_eth_open().
mlx_status nodnic_port_set_promisc_multicast | ( | IN nodnic_port_priv * | port_priv, |
IN mlx_boolean | value | ||
) |
Definition at line 1220 of file mlx_port.c.
References buffer, MLX_CHECK_STATUS, MLX_SUCCESS, nodnic_port_option_port_promisc_multicast_en, nodnic_port_set(), status, and value.
mlx_status nodnic_port_init | ( | IN nodnic_port_priv * | port_priv | ) |
Definition at line 1235 of file mlx_port.c.
References MLX_FATAL_CHECK_STATUS, MLX_INVALID_PARAMETER, MLX_SUCCESS, nodnic_port_set_network(), NULL, status, and TRUE.
Referenced by flexboot_nodnic_eth_open().
mlx_status nodnic_port_close | ( | IN nodnic_port_priv * | port_priv | ) |
Definition at line 1255 of file mlx_port.c.
References FALSE, MLX_FATAL_CHECK_STATUS, MLX_INVALID_PARAMETER, MLX_SUCCESS, nodnic_port_set_network(), NULL, and status.
Referenced by flexboot_nodnic_eth_close(), and flexboot_nodnic_eth_open().
mlx_status nodnic_port_enable_dma | ( | IN nodnic_port_priv * | port_priv | ) |
Definition at line 1275 of file mlx_port.c.
References MLX_CHECK_STATUS, MLX_INVALID_PARAMETER, MLX_SUCCESS, nodnic_port_check_and_set_dma(), NULL, status, and TRUE.
Referenced by __attribute__(), and flexboot_nodnic_eth_open().
mlx_status nodnic_port_disable_dma | ( | IN nodnic_port_priv * | port_priv | ) |
Definition at line 1295 of file mlx_port.c.
References FALSE, MLX_CHECK_STATUS, MLX_INVALID_PARAMETER, MLX_SUCCESS, nodnic_port_check_and_set_dma(), NULL, and status.
Referenced by flexboot_nodnic_port_disable_dma().
mlx_status nodnic_port_read_reset_needed | ( | IN nodnic_port_priv * | port_priv, |
OUT mlx_boolean * | reset_needed | ||
) |
Definition at line 221 of file mlx_port.c.
References MLX_CHECK_STATUS, MLX_SUCCESS, nodnic_port_option_reset_needed, nodnic_port_query(), out, and status.
Referenced by nodnic_port_thin_init().
mlx_status nodnic_port_read_port_management_change_event | ( | IN nodnic_port_priv * | port_priv, |
OUT mlx_boolean * | change_event | ||
) |
Definition at line 238 of file mlx_port.c.
References MLX_CHECK_STATUS, MLX_SUCCESS, nodnic_port_option_port_management_change_event, nodnic_port_query(), out, and status.
mlx_status nodnic_port_set_send_uar_offset | ( | IN nodnic_port_priv * | port_priv | ) |
Definition at line 197 of file mlx_port.c.
References MLX_CHECK_STATUS, MLX_DEBUG_INFO1, MLX_SUCCESS, MLX_UNSUPPORTED, nodnic_port_option_send_ring0_uar_index, nodnic_port_query(), out, and status.
Referenced by flexboot_nodnic_alloc_uar().
mlx_status nodnic_port_update_tx_db_func | ( | IN nodnic_device_priv * | device_priv, |
IN nodnic_port_priv * | port_priv | ||
) |
struct _nodnic_arm_cq_db __attribute |