#include <stdint.h>
#include <gpxe/uaccess.h>
#include <gpxe/ib_packet.h>
#include "mlx_bitops.h"
#include "MT25408_PRM.h"
Go to the source code of this file.
Data Structures | |
| struct | hermonprm_mgm_hash_st |
| struct | hermonprm_mcg_entry_st |
| struct | hermonprm_cq_db_record_st |
| struct | hermonprm_send_db_register_st |
| struct | hermonprm_event_db_register_st |
| struct | hermonprm_scalar_parameter_st |
| struct | hermonprm_event_mask_st |
| struct | hermonprm_port_state_change_event_st |
| struct | hermonprm_sense_port_st |
| Hermon sense port. More... | |
| struct | hermonprm_write_mtt |
| struct | hermonprm_ud_send_wqe |
| struct | hermonprm_mlx_send_wqe |
| struct | hermonprm_rc_send_wqe |
| struct | hermonprm_recv_wqe |
| union | hermonprm_completion_entry |
| union | hermonprm_event_entry |
| union | hermonprm_doorbell_register |
| union | hermonprm_mad |
| struct | hermon_dev_cap |
| Hermon device capabilitiess. More... | |
| struct | hermon_icm_map |
| Hermon ICM memory map entry. More... | |
| struct | hermon_mtt |
| A Hermon MTT descriptor. More... | |
| union | hermon_send_wqe |
| A Hermon send work queue entry. More... | |
| struct | hermon_send_work_queue |
| A Hermon send work queue. More... | |
| union | hermon_recv_wqe |
| A Hermon receive work queue entry. More... | |
| struct | hermon_recv_work_queue |
| A Hermon receive work queue. More... | |
| struct | hermon_queue_pair |
| A Hermon queue pair. More... | |
| struct | hermon_completion_queue |
| A Hermon completion queue. More... | |
| struct | hermon_event_queue |
| A Hermon event queue. More... | |
| struct | hermon |
| A Hermon device. More... | |
Defines | |
| #define | HERMON_MAX_PORTS 2 |
| #define | HERMON_PORT_BASE 1 |
| #define | HERMON_PCI_CONFIG_BAR PCI_BASE_ADDRESS_0 |
| #define | HERMON_PCI_CONFIG_BAR_SIZE 0x100000 |
| #define | HERMON_PCI_UAR_BAR PCI_BASE_ADDRESS_2 |
| #define | HERMON_RESET_OFFSET 0x0f0010 |
| #define | HERMON_RESET_MAGIC 0x01000000UL |
| #define | HERMON_RESET_WAIT_TIME_MS 1000 |
| #define | HERMON_OPCODE_NOP 0x00 |
| #define | HERMON_OPCODE_SEND 0x0a |
| #define | HERMON_OPCODE_RECV_ERROR 0xfe |
| #define | HERMON_OPCODE_SEND_ERROR 0xff |
| #define | HERMON_HCR_QUERY_DEV_CAP 0x0003 |
| #define | HERMON_HCR_QUERY_FW 0x0004 |
| #define | HERMON_HCR_INIT_HCA 0x0007 |
| #define | HERMON_HCR_CLOSE_HCA 0x0008 |
| #define | HERMON_HCR_INIT_PORT 0x0009 |
| #define | HERMON_HCR_CLOSE_PORT 0x000a |
| #define | HERMON_HCR_SW2HW_MPT 0x000d |
| #define | HERMON_HCR_WRITE_MTT 0x0011 |
| #define | HERMON_HCR_MAP_EQ 0x0012 |
| #define | HERMON_HCR_SW2HW_EQ 0x0013 |
| #define | HERMON_HCR_HW2SW_EQ 0x0014 |
| #define | HERMON_HCR_QUERY_EQ 0x0015 |
| #define | HERMON_HCR_SW2HW_CQ 0x0016 |
| #define | HERMON_HCR_HW2SW_CQ 0x0017 |
| #define | HERMON_HCR_RST2INIT_QP 0x0019 |
| #define | HERMON_HCR_INIT2RTR_QP 0x001a |
| #define | HERMON_HCR_RTR2RTS_QP 0x001b |
| #define | HERMON_HCR_RTS2RTS_QP 0x001c |
| #define | HERMON_HCR_2RST_QP 0x0021 |
| #define | HERMON_HCR_QUERY_QP 0x0022 |
| #define | HERMON_HCR_CONF_SPECIAL_QP 0x0023 |
| #define | HERMON_HCR_MAD_IFC 0x0024 |
| #define | HERMON_HCR_READ_MCG 0x0025 |
| #define | HERMON_HCR_WRITE_MCG 0x0026 |
| #define | HERMON_HCR_MGID_HASH 0x0027 |
| #define | HERMON_HCR_SENSE_PORT 0x004d |
| #define | HERMON_HCR_RUN_FW 0x0ff6 |
| #define | HERMON_HCR_DISABLE_LAM 0x0ff7 |
| #define | HERMON_HCR_ENABLE_LAM 0x0ff8 |
| #define | HERMON_HCR_UNMAP_ICM 0x0ff9 |
| #define | HERMON_HCR_MAP_ICM 0x0ffa |
| #define | HERMON_HCR_UNMAP_ICM_AUX 0x0ffb |
| #define | HERMON_HCR_MAP_ICM_AUX 0x0ffc |
| #define | HERMON_HCR_SET_ICM_SIZE 0x0ffd |
| #define | HERMON_HCR_UNMAP_FA 0x0ffe |
| #define | HERMON_HCR_MAP_FA 0x0fff |
| #define | HERMON_ST_RC 0x00 |
| #define | HERMON_ST_UD 0x03 |
| #define | HERMON_ST_MLX 0x07 |
| #define | HERMON_MTU_2048 0x04 |
| #define | HERMON_INVALID_LKEY 0x00000100UL |
| #define | HERMON_PAGE_SIZE 4096 |
| #define | HERMON_DB_POST_SND_OFFSET 0x14 |
| #define | HERMON_DB_EQ_OFFSET(_eqn) ( 0x800 + HERMON_PAGE_SIZE * ( (_eqn) / 4 ) + 0x08 * ( (_eqn) % 4 ) ) |
| #define | HERMON_QP_OPT_PARAM_PM_STATE 0x00000400UL |
| #define | HERMON_QP_OPT_PARAM_QKEY 0x00000020UL |
| #define | HERMON_QP_OPT_PARAM_ALT_PATH 0x00000001UL |
| #define | HERMON_MAP_EQ ( 0UL << 31 ) |
| #define | HERMON_UNMAP_EQ ( 1UL << 31 ) |
| #define | HERMON_EV_PORT_STATE_CHANGE 0x09 |
| #define | HERMON_SCHED_QP0 0x3f |
| #define | HERMON_SCHED_DEFAULT 0x83 |
| #define | HERMON_PM_STATE_ARMED 0x00 |
| #define | HERMON_PM_STATE_REARM 0x01 |
| #define | HERMON_PM_STATE_MIGRATED 0x03 |
| #define | HERMON_RETRY_MAX 0x07 |
| #define | HERMON_PORT_TYPE_IB 1 |
| #define | HERMON_MAX_GATHER 2 |
| #define | HERMON_MAX_SCATTER 1 |
| #define | HERMON_CMPT_MAX_ENTRIES ( 1 << 24 ) |
| Number of cMPT entries of each type. | |
| #define | HERMON_UAR_NON_EQ_PAGE 128 |
| UAR page for doorbell accesses. | |
| #define | HERMON_MAX_MTTS 64 |
| Maximum number of allocatable MTT entries. | |
| #define | HERMON_SEND_WQE_ALIGN 128 |
| Alignment of Hermon send work queue entries. | |
| #define | HERMON_RECV_WQE_ALIGN 16 |
| Alignment of Hermon receive work queue entries. | |
| #define | HERMON_NUM_SPECIAL_QPS 8 |
| Number of special queue pairs. | |
| #define | HERMON_RSVD_SPECIAL_QPS ( ( HERMON_NUM_SPECIAL_QPS << 1 ) - 1 ) |
| Number of queue pairs reserved for the "special QP" block. | |
| #define | HERMON_MAX_QPS 8 |
| Maximum number of allocatable queue pairs. | |
| #define | HERMON_QPN_RANDOM_MASK 0xfff000 |
| Queue pair number randomisation mask. | |
| #define | HERMON_MAX_CQS 8 |
| Maximum number of allocatable completion queues. | |
| #define | HERMON_MAX_EQS 8 |
| Maximum number of allocatable event queues. | |
| #define | HERMON_NUM_EQES 4 |
| Number of event queue entries. | |
| #define | HERMON_BITMASK_SIZE(max_entries) |
| Size of a hermon resource bitmask. | |
| #define | HERMON_GLOBAL_PD 0x123456 |
| Global protection domain. | |
| #define | HERMON_MKEY_PREFIX 0x77000000UL |
| Memory key prefix. | |
| #define | HERMON_HCR_BASE 0x80680 |
| #define | HERMON_HCR_REG(x) ( HERMON_HCR_BASE + 4 * (x) ) |
| #define | HERMON_HCR_MAX_WAIT_MS 2000 |
| #define | HERMON_MBOX_ALIGN 4096 |
| #define | HERMON_MBOX_SIZE 512 |
| #define | HERMON_HCR_IN_MBOX 0x00001000UL |
| #define | HERMON_HCR_OUT_MBOX 0x00002000UL |
| #define | HERMON_HCR_OPCODE(_command) ( (_command) & 0xfff ) |
| #define | HERMON_HCR_IN_LEN(_command) ( ( (_command) >> 12 ) & 0x7fc ) |
| #define | HERMON_HCR_OUT_LEN(_command) ( ( (_command) >> 21 ) & 0x7fc ) |
| #define | HERMON_HCR_INOUT_CMD(_opcode, _in_mbox, _in_len,_out_mbox, _out_len) |
| Build HCR command from component parts. | |
| #define | HERMON_HCR_IN_CMD(_opcode, _in_mbox, _in_len) HERMON_HCR_INOUT_CMD ( _opcode, _in_mbox, _in_len, 0, 0 ) |
| #define | HERMON_HCR_OUT_CMD(_opcode, _out_mbox, _out_len) HERMON_HCR_INOUT_CMD ( _opcode, 0, 0, _out_mbox, _out_len ) |
| #define | HERMON_HCR_VOID_CMD(_opcode) HERMON_HCR_INOUT_CMD ( _opcode, 0, 0, 0, 0 ) |
Typedefs | |
| typedef uint32_t | hermon_bitmask_t |
| A Hermon resource bitmask. | |
Enumerations | |
| enum | hermon_icm_map_regions { HERMON_ICM_QP_CMPT = 0, HERMON_ICM_SRQ_CMPT, HERMON_ICM_CQ_CMPT, HERMON_ICM_EQ_CMPT, HERMON_ICM_OTHER, HERMON_ICM_NUM_REGIONS } |
| Discontiguous regions within Hermon ICM. More... | |
| enum | hermon_queue_pair_state { HERMON_QP_ST_RST = 0, HERMON_QP_ST_INIT, HERMON_QP_ST_RTR, HERMON_QP_ST_RTS } |
| Hermon queue pair state. More... | |
Functions | |
| FILE_LICENCE (GPL2_OR_LATER) | |
| struct | MLX_DECLARE_STRUCT (hermonprm_completion_queue_context) |
| struct | MLX_DECLARE_STRUCT (hermonprm_completion_queue_entry) |
| struct | MLX_DECLARE_STRUCT (hermonprm_completion_with_error) |
| struct | MLX_DECLARE_STRUCT (hermonprm_cq_db_record) |
| struct | MLX_DECLARE_STRUCT (hermonprm_eqc) |
| struct | MLX_DECLARE_STRUCT (hermonprm_event_db_register) |
| struct | MLX_DECLARE_STRUCT (hermonprm_event_mask) |
| struct | MLX_DECLARE_STRUCT (hermonprm_event_queue_entry) |
| struct | MLX_DECLARE_STRUCT (hermonprm_hca_command_register) |
| struct | MLX_DECLARE_STRUCT (hermonprm_init_hca) |
| struct | MLX_DECLARE_STRUCT (hermonprm_init_port) |
| struct | MLX_DECLARE_STRUCT (hermonprm_mad_ifc) |
| struct | MLX_DECLARE_STRUCT (hermonprm_mcg_entry) |
| struct | MLX_DECLARE_STRUCT (hermonprm_mgm_hash) |
| struct | MLX_DECLARE_STRUCT (hermonprm_mpt) |
| struct | MLX_DECLARE_STRUCT (hermonprm_mtt) |
| struct | MLX_DECLARE_STRUCT (hermonprm_port_state_change_event) |
| struct | MLX_DECLARE_STRUCT (hermonprm_qp_db_record) |
| struct | MLX_DECLARE_STRUCT (hermonprm_qp_ee_state_transitions) |
| struct | MLX_DECLARE_STRUCT (hermonprm_query_dev_cap) |
| struct | MLX_DECLARE_STRUCT (hermonprm_query_fw) |
| struct | MLX_DECLARE_STRUCT (hermonprm_queue_pair_ee_context_entry) |
| struct | MLX_DECLARE_STRUCT (hermonprm_scalar_parameter) |
| struct | MLX_DECLARE_STRUCT (hermonprm_sense_port) |
| struct | MLX_DECLARE_STRUCT (hermonprm_send_db_register) |
| struct | MLX_DECLARE_STRUCT (hermonprm_ud_address_vector) |
| struct | MLX_DECLARE_STRUCT (hermonprm_virtual_physical_mapping) |
| struct | MLX_DECLARE_STRUCT (hermonprm_wqe_segment_ctrl_mlx) |
| struct | MLX_DECLARE_STRUCT (hermonprm_wqe_segment_ctrl_send) |
| struct | MLX_DECLARE_STRUCT (hermonprm_wqe_segment_data_ptr) |
| struct | MLX_DECLARE_STRUCT (hermonprm_wqe_segment_ud) |
Variables | |
| struct hermonprm_mgm_hash_st | packed |
| A Hermon send work queue entry. | |
Definition in file hermon.h.
| #define HERMON_MAX_PORTS 2 |
| #define HERMON_PORT_BASE 1 |
| #define HERMON_PCI_CONFIG_BAR PCI_BASE_ADDRESS_0 |
| #define HERMON_PCI_CONFIG_BAR_SIZE 0x100000 |
| #define HERMON_PCI_UAR_BAR PCI_BASE_ADDRESS_2 |
| #define HERMON_RESET_OFFSET 0x0f0010 |
| #define HERMON_RESET_MAGIC 0x01000000UL |
| #define HERMON_RESET_WAIT_TIME_MS 1000 |
| #define HERMON_OPCODE_SEND 0x0a |
Definition at line 39 of file hermon.h.
Referenced by hermon_fill_mlx_send_wqe(), hermon_fill_rc_send_wqe(), and hermon_fill_ud_send_wqe().
| #define HERMON_OPCODE_RECV_ERROR 0xfe |
| #define HERMON_OPCODE_SEND_ERROR 0xff |
| #define HERMON_HCR_QUERY_DEV_CAP 0x0003 |
| #define HERMON_HCR_QUERY_FW 0x0004 |
| #define HERMON_HCR_INIT_HCA 0x0007 |
| #define HERMON_HCR_CLOSE_HCA 0x0008 |
| #define HERMON_HCR_INIT_PORT 0x0009 |
| #define HERMON_HCR_CLOSE_PORT 0x000a |
| #define HERMON_HCR_SW2HW_MPT 0x000d |
| #define HERMON_HCR_WRITE_MTT 0x0011 |
| #define HERMON_HCR_MAP_EQ 0x0012 |
| #define HERMON_HCR_SW2HW_EQ 0x0013 |
| #define HERMON_HCR_HW2SW_EQ 0x0014 |
| #define HERMON_HCR_QUERY_EQ 0x0015 |
| #define HERMON_HCR_SW2HW_CQ 0x0016 |
| #define HERMON_HCR_HW2SW_CQ 0x0017 |
| #define HERMON_HCR_RST2INIT_QP 0x0019 |
| #define HERMON_HCR_INIT2RTR_QP 0x001a |
| #define HERMON_HCR_RTR2RTS_QP 0x001b |
| #define HERMON_HCR_RTS2RTS_QP 0x001c |
| #define HERMON_HCR_2RST_QP 0x0021 |
| #define HERMON_HCR_QUERY_QP 0x0022 |
| #define HERMON_HCR_CONF_SPECIAL_QP 0x0023 |
| #define HERMON_HCR_MAD_IFC 0x0024 |
| #define HERMON_HCR_READ_MCG 0x0025 |
| #define HERMON_HCR_WRITE_MCG 0x0026 |
| #define HERMON_HCR_MGID_HASH 0x0027 |
| #define HERMON_HCR_SENSE_PORT 0x004d |
| #define HERMON_HCR_RUN_FW 0x0ff6 |
| #define HERMON_HCR_UNMAP_ICM 0x0ff9 |
| #define HERMON_HCR_MAP_ICM 0x0ffa |
| #define HERMON_HCR_UNMAP_ICM_AUX 0x0ffb |
| #define HERMON_HCR_MAP_ICM_AUX 0x0ffc |
| #define HERMON_HCR_SET_ICM_SIZE 0x0ffd |
| #define HERMON_HCR_UNMAP_FA 0x0ffe |
| #define HERMON_HCR_MAP_FA 0x0fff |
| #define HERMON_MTU_2048 0x04 |
| #define HERMON_PAGE_SIZE 4096 |
Definition at line 91 of file hermon.h.
Referenced by hermon_alloc_mtt(), hermon_create_qp(), hermon_free_icm(), hermon_map_vpm(), hermon_probe(), hermon_start_firmware(), icm_align(), and icm_usage().
| #define HERMON_DB_POST_SND_OFFSET 0x14 |
| #define HERMON_DB_EQ_OFFSET | ( | _eqn | ) | ( 0x800 + HERMON_PAGE_SIZE * ( (_eqn) / 4 ) + 0x08 * ( (_eqn) % 4 ) ) |
| #define HERMON_QP_OPT_PARAM_QKEY 0x00000020UL |
| #define HERMON_MAP_EQ ( 0UL << 31 ) |
| #define HERMON_UNMAP_EQ ( 1UL << 31 ) |
| #define HERMON_EV_PORT_STATE_CHANGE 0x09 |
| #define HERMON_SCHED_QP0 0x3f |
| #define HERMON_SCHED_DEFAULT 0x83 |
| #define HERMON_PM_STATE_MIGRATED 0x03 |
| #define HERMON_RETRY_MAX 0x07 |
| #define HERMON_PORT_TYPE_IB 1 |
| #define HERMON_CMPT_MAX_ENTRIES ( 1 << 24 ) |
Number of cMPT entries of each type.
Definition at line 321 of file hermon.h.
Referenced by hermon_alloc_icm().
| #define HERMON_UAR_NON_EQ_PAGE 128 |
UAR page for doorbell accesses.
Pages 0-127 are reserved for event queue doorbells only, so we use page 128.
Definition at line 346 of file hermon.h.
Referenced by hermon_create_cq(), hermon_create_qp(), and hermon_probe().
| #define HERMON_MAX_MTTS 64 |
Maximum number of allocatable MTT entries.
This is a policy decision, not a device limit.
Definition at line 352 of file hermon.h.
Referenced by hermon_alloc_icm(), and hermon_alloc_mtt().
| #define HERMON_SEND_WQE_ALIGN 128 |
| #define HERMON_RECV_WQE_ALIGN 16 |
| #define HERMON_NUM_SPECIAL_QPS 8 |
Number of special queue pairs.
Definition at line 415 of file hermon.h.
Referenced by hermon_configure_special_qps().
| #define HERMON_RSVD_SPECIAL_QPS ( ( HERMON_NUM_SPECIAL_QPS << 1 ) - 1 ) |
Number of queue pairs reserved for the "special QP" block.
The special QPs must be within a contiguous block aligned on its own size.
Definition at line 422 of file hermon.h.
Referenced by hermon_alloc_icm().
| #define HERMON_MAX_QPS 8 |
Maximum number of allocatable queue pairs.
This is a policy decision, not a device limit.
Definition at line 428 of file hermon.h.
Referenced by hermon_alloc_icm(), and hermon_alloc_qpn().
| #define HERMON_QPN_RANDOM_MASK 0xfff000 |
Queue pair number randomisation mask.
Definition at line 431 of file hermon.h.
Referenced by hermon_alloc_qpn(), and hermon_free_qpn().
| #define HERMON_MAX_CQS 8 |
Maximum number of allocatable completion queues.
This is a policy decision, not a device limit.
Definition at line 461 of file hermon.h.
Referenced by hermon_alloc_icm(), and hermon_create_cq().
| #define HERMON_MAX_EQS 8 |
Maximum number of allocatable event queues.
This is a policy decision, not a device limit.
Definition at line 479 of file hermon.h.
Referenced by hermon_alloc_icm().
| #define HERMON_NUM_EQES 4 |
Number of event queue entries.
This is a policy decision.
Definition at line 501 of file hermon.h.
Referenced by hermon_create_eq(), and hermon_poll_eq().
| #define HERMON_BITMASK_SIZE | ( | max_entries | ) |
Value:
( ( (max_entries) + ( 8 * sizeof ( hermon_bitmask_t ) ) - 1 ) / \ ( 8 * sizeof ( hermon_bitmask_t ) ) )
| #define HERMON_GLOBAL_PD 0x123456 |
Global protection domain.
Definition at line 559 of file hermon.h.
Referenced by hermon_create_qp(), hermon_fill_ud_send_wqe(), and hermon_setup_mpt().
| #define HERMON_MKEY_PREFIX 0x77000000UL |
| #define HERMON_HCR_BASE 0x80680 |
| #define HERMON_HCR_REG | ( | x | ) | ( HERMON_HCR_BASE + 4 * (x) ) |
| #define HERMON_HCR_MAX_WAIT_MS 2000 |
| #define HERMON_MBOX_ALIGN 4096 |
| #define HERMON_MBOX_SIZE 512 |
Definition at line 573 of file hermon.h.
Referenced by hermon_cmd(), hermon_probe(), and hermon_remove().
| #define HERMON_HCR_IN_MBOX 0x00001000UL |
| #define HERMON_HCR_OUT_MBOX 0x00002000UL |
| #define HERMON_HCR_OPCODE | ( | _command | ) | ( (_command) & 0xfff ) |
| #define HERMON_HCR_IN_LEN | ( | _command | ) | ( ( (_command) >> 12 ) & 0x7fc ) |
| #define HERMON_HCR_OUT_LEN | ( | _command | ) | ( ( (_command) >> 21 ) & 0x7fc ) |
| #define HERMON_HCR_INOUT_CMD | ( | _opcode, | |||
| _in_mbox, | |||||
| _in_len, | |||||
| _out_mbox, | |||||
| _out_len | ) |
Value:
( (_opcode) | \
( (_in_mbox) ? HERMON_HCR_IN_MBOX : 0 ) | \
( ( (_in_len) / 4 ) << 14 ) | \
( (_out_mbox) ? HERMON_HCR_OUT_MBOX : 0 ) | \
( ( (_out_len) / 4 ) << 23 ) )
Definition at line 594 of file hermon.h.
Referenced by hermon_cmd_mad_ifc(), hermon_cmd_mgid_hash(), and hermon_cmd_set_icm_size().
| #define HERMON_HCR_IN_CMD | ( | _opcode, | |||
| _in_mbox, | |||||
| _in_len | ) | HERMON_HCR_INOUT_CMD ( _opcode, _in_mbox, _in_len, 0, 0 ) |
Definition at line 601 of file hermon.h.
Referenced by hermon_cmd_init2rtr_qp(), hermon_cmd_init_hca(), hermon_cmd_init_port(), hermon_cmd_map_eq(), hermon_cmd_map_fa(), hermon_cmd_map_icm(), hermon_cmd_map_icm_aux(), hermon_cmd_rst2init_qp(), hermon_cmd_rtr2rts_qp(), hermon_cmd_rts2rts_qp(), hermon_cmd_sw2hw_cq(), hermon_cmd_sw2hw_eq(), hermon_cmd_sw2hw_mpt(), hermon_cmd_unmap_icm(), hermon_cmd_write_mcg(), and hermon_cmd_write_mtt().
| #define HERMON_HCR_OUT_CMD | ( | _opcode, | |||
| _out_mbox, | |||||
| _out_len | ) | HERMON_HCR_INOUT_CMD ( _opcode, 0, 0, _out_mbox, _out_len ) |
Definition at line 604 of file hermon.h.
Referenced by hermon_cmd_hw2sw_cq(), hermon_cmd_hw2sw_eq(), hermon_cmd_query_dev_cap(), hermon_cmd_query_eq(), hermon_cmd_query_fw(), hermon_cmd_query_qp(), hermon_cmd_read_mcg(), and hermon_cmd_sense_port().
| #define HERMON_HCR_VOID_CMD | ( | _opcode | ) | HERMON_HCR_INOUT_CMD ( _opcode, 0, 0, 0, 0 ) |
Definition at line 607 of file hermon.h.
Referenced by hermon_cmd_2rst_qp(), hermon_cmd_close_hca(), hermon_cmd_close_port(), hermon_cmd_conf_special_qp(), hermon_cmd_run_fw(), hermon_cmd_unmap_fa(), and hermon_cmd_unmap_icm_aux().
| typedef uint32_t hermon_bitmask_t |
Discontiguous regions within Hermon ICM.
| HERMON_ICM_QP_CMPT | |
| HERMON_ICM_SRQ_CMPT | |
| HERMON_ICM_CQ_CMPT | |
| HERMON_ICM_EQ_CMPT | |
| HERMON_ICM_OTHER | |
| HERMON_ICM_NUM_REGIONS |
Definition at line 332 of file hermon.h.
00332 { 00333 HERMON_ICM_QP_CMPT = 0, 00334 HERMON_ICM_SRQ_CMPT, 00335 HERMON_ICM_CQ_CMPT, 00336 HERMON_ICM_EQ_CMPT, 00337 HERMON_ICM_OTHER, 00338 HERMON_ICM_NUM_REGIONS 00339 };
Hermon queue pair state.
Definition at line 434 of file hermon.h.
00434 { 00435 HERMON_QP_ST_RST = 0, 00436 HERMON_QP_ST_INIT, 00437 HERMON_QP_ST_RTR, 00438 HERMON_QP_ST_RTS, 00439 };
| FILE_LICENCE | ( | GPL2_OR_LATER | ) |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_completion_queue_context | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_completion_queue_entry | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_completion_with_error | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_cq_db_record | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_eqc | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_event_db_register | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_event_mask | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_event_queue_entry | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_hca_command_register | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_init_hca | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_init_port | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_mad_ifc | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_mcg_entry | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_mgm_hash | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_mpt | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_mtt | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_port_state_change_event | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_qp_db_record | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_qp_ee_state_transitions | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_query_dev_cap | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_query_fw | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_queue_pair_ee_context_entry | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_scalar_parameter | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_sense_port | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_send_db_register | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_ud_address_vector | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_virtual_physical_mapping | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_wqe_segment_ctrl_mlx | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_wqe_segment_ctrl_send | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_wqe_segment_data_ptr | ) | [read] |
| struct MLX_DECLARE_STRUCT | ( | hermonprm_wqe_segment_ud | ) | [read] |
| union hermon_recv_wqe packed |
A Hermon send work queue entry.
A Hermon receive work queue entry.
1.5.7.1