Module mlx_ethernet::command_queue
source · Expand description
Defines the Command Queue that is used to pass commands from the driver to the NIC. Also defines multiple enums that specify the valid input and output values for different commands.
Structs
- A struct representing a Command Queue Entry in the Command Queue buffer currently in use by the driver.
- Struct that makes it easier to pass the variety of arguments that are required for different commands
- A buffer of fixed-size entries that is used to pass commands to the HCA. It resides in a physically contiguous 4 KiB memory chunk. (Section 8.24.1: HCA Command Queue)
- Layout of a command passed to the NIC. The fields include control information for the command as well as actual command input and output. The first 16 bytes of the actual command input are part of the entry. The remaining data is written in mailboxes. Similarly, the first 16 bytes of the command output are part of the entry and remaining data is written in mailboxes.
- The HCA capabilities are stored in this struct after being extracted from [
HCACapabilitiesLayout
]
Enums
- Possible values of the opcode modifer when the opcode is
CommandOpcode::AccessRegister
. - The possible states a command can be in as it is updated by the driver and then posted to the HCA
- Return codes written by HW in the delivery status field of the command entry. See
CommandQueueEntry::token_signature_status_own
. - Command opcode written by SW in opcode field of the input data in the command entry. See
CommandQueueEntry::command_input_opcode
. - Possible reasons for failure when executing a command
- Command status written by HW in status field of the output data in the command entry. See
CommandQueueEntry::command_output_status
. - Type of transport that carries the command.
- Possible values of the port type field returned when retrieving device capabilities using the command
CommandOpcode::QueryHcaCap
. - Possible values of the opcode modifer when the opcode is
CommandOpcode::ManagePages
. - Possible values of the opcode modifer when the opcode is
CommandOpcode::QueryHcaCap
and we want to retrieve current values of capabilities. - Possible values of the opcode modifer when the opcode is
CommandOpcode::QueryHcaCap
and we want to retrieve maximum values of capabilities. - Possible values of the opcode modifer when the opcode is
CommandOpcode::QueryPages
. - Possible values of the opcode modifer when the opcode is
CommandOpcode::QueryVportState
.