Lines Matching +full:non +full:- +full:disruptive
1 /* SPDX-License-Identifier: (GPL-2.0 OR Linux-OpenIB) OR BSD-2-Clause */
2 /* Copyright (c) 2017-2020 Pensando Systems, Inc. All rights reserved. */
12 * enum ionic_cmd_opcode - Device commands
75 * enum ionic_status_code - Device command return codes
113 * struct ionic_admin_cmd - General admin command format
116 * @cmd_data: Opcode-specific command bytes
126 * struct ionic_admin_comp - General admin command completion format
129 * @cmd_data: Command-specific bytes
148 * struct ionic_nop_cmd - NOP command
157 * struct ionic_nop_comp - NOP command completion
166 * struct ionic_dev_init_cmd - Device init command
177 * struct ionic_dev_init_comp - Device init command completion
186 * struct ionic_dev_reset_cmd - Device reset command
195 * struct ionic_dev_reset_comp - Reset command completion
207 * struct ionic_dev_identify_cmd - Driver/device identify command
218 * struct ionic_dev_identify_comp - Driver/device identify command completion
238 * union ionic_drv_identity - driver identity information
259 * enum ionic_dev_capability - Device capabilities
267 * union ionic_dev_identity - device identity information
275 * Scale user-supplied interrupt coalescing
279 * Scale user-supplied interrupt coalescing
316 * struct ionic_lif_identify_cmd - LIF identify command
329 * struct ionic_lif_identify_comp - LIF identify command completion
340 * enum ionic_lif_capability - LIF capabilities
350 * enum ionic_logical_qtype - Logical Queue Types
368 * enum ionic_q_feature - Common Features for most queue types
370 * Common features use bits 0-15. Per-queue-type features use higher bits.
397 * enum ionic_rxq_feature - RXQ-specific Features
399 * Per-queue-type features use bits 16 and higher.
408 * enum ionic_txq_feature - TXQ-specific Features
410 * Per-queue-type features use bits 16 and higher.
419 * struct ionic_hwstamp_bits - Hardware timestamp decoding bits
430 * struct ionic_lif_logical_qtype - Descriptor of logical to HW queue type
443 * enum ionic_lif_state - LIF state
455 * union ionic_lif_config - LIF configuration
462 * @queue_count: Queue counts per queue-type
479 * struct ionic_lif_identity - LIF identity information (type-specific)
557 * struct ionic_lif_init_cmd - LIF init command
573 * struct ionic_lif_init_comp - LIF init command completion
585 * struct ionic_q_identify_cmd - queue identify command
601 * struct ionic_q_identify_comp - queue identify command completion
615 * union ionic_q_identity - queue identity information
641 * struct ionic_q_init_cmd - Queue init command
655 * SG: Enable Scatter-Gather on the queue.
687 #define IONIC_QINIT_F_CMB 0x10 /* Enable cmb-based queue */
699 * struct ionic_q_init_comp - Queue init command completion
718 #define IONIC_ADDR_MASK (BIT_ULL(IONIC_ADDR_LEN) - 1)
728 * struct ionic_txq_desc - Ethernet Tx queue descriptor format
732 * Non-offload send. No segmentation,
739 * Offload 16-bit L4 checksum
751 * standard (i.e. the 'IP-style' checksum)
752 * one's complement 16-bit checksum is used,
753 * using an IP pseudo-header to seed the
755 * checksum field with the IP pseudo-header
768 * Documentation/networking/checksum-offloads.rst
772 * Offload 16-bit checksum computation to hardware.
793 * layer-3 GRE, and UDP. @hdr_len includes
816 * @num_sg_elems: Number of scatter-gather elements in SG
822 * by @V-bit). Includes .1p and .1q tags
829 * of headers up to inner-most L4 header. For
831 * inner-most L4 payload, so inclusive of
832 * inner-most L4 header.
846 #define IONIC_TXQ_DESC_ADDR_MASK (BIT_ULL(IONIC_ADDR_LEN) - 1)
901 * struct ionic_txq_sg_elem - Transmit scatter-gather (SG) descriptor element
912 * struct ionic_txq_sg_desc - Transmit scatter-gather (SG) list
913 * @elems: Scatter-gather elements
928 * struct ionic_txq_comp - Ethernet transmit queue completion descriptor
947 * struct ionic_rxq_desc - Ethernet Rx queue descriptor format
967 * struct ionic_rxq_sg_elem - Receive scatter-gather (SG) descriptor element
978 * struct ionic_rxq_sg_desc - Receive scatter-gather (SG) list
979 * @elems: Scatter-gather elements
988 * struct ionic_rxq_comp - Ethernet receive queue completion descriptor
992 * @rss_hash: 32-bit RSS hash
993 * @csum: 16-bit sum of the packet's L2 payload
995 * zero-value byte is included in the @csum calculation but
1111 * enum ionic_pkt_class - Packet classification mask.
1118 * @IONIC_PKT_CLS_PTP1_DREQ: PTPv1 delay-request
1120 * @IONIC_PKT_CLS_PTP2_L4_SYNC: PTPv2-UDP sync
1121 * @IONIC_PKT_CLS_PTP2_L4_DREQ: PTPv2-UDP delay-request
1122 * @IONIC_PKT_CLS_PTP2_L4_ALL: PTPv2-UDP all packets
1123 * @IONIC_PKT_CLS_PTP2_L2_SYNC: PTPv2-ETH sync
1124 * @IONIC_PKT_CLS_PTP2_L2_DREQ: PTPv2-ETH delay-request
1125 * @IONIC_PKT_CLS_PTP2_L2_ALL: PTPv2-ETH all packets
1127 * @IONIC_PKT_CLS_PTP2_DREQ: PTPv2 delay-request
1130 * @IONIC_PKT_CLS_PTP_DREQ: PTP delay-request
1167 * struct ionic_q_control_cmd - Queue control command
1192 * enum ionic_phy_type - Physical connection type
1204 * enum ionic_xcvr_state - Transceiver status
1220 * enum ionic_xcvr_pid - Supported link modes
1260 * enum ionic_port_type - Port types
1263 * @IONIC_PORT_TYPE_MGMT: Port carries mgmt traffic (out-of-band)
1272 * enum ionic_port_admin_state - Port config state
1284 * enum ionic_port_oper_status - Port operational status
1296 * enum ionic_port_fec_type - Ethernet Forward error correction (FEC) modes
1308 * enum ionic_port_pause_type - Ethernet pause (flow control) modes
1311 * @IONIC_PORT_PAUSE_TYPE_PFC: Priority-Flow Control
1320 * enum ionic_port_loopback_mode - Loopback modes
1332 * struct ionic_xcvr_status - Transceiver Status information
1346 * union ionic_port_config - Port configuration
1379 * struct ionic_port_status - Port Status information
1398 * struct ionic_port_identify_cmd - Port identify command
1411 * struct ionic_port_identify_comp - Port identify command completion
1422 * struct ionic_port_init_cmd - Port initialization command
1436 * struct ionic_port_init_comp - Port initialization command completion
1445 * struct ionic_port_reset_cmd - Port reset command
1456 * struct ionic_port_reset_comp - Port reset command completion
1465 * enum ionic_stats_ctl_cmd - List of commands for stats control
1473 * enum ionic_txstamp_mode - List of TX Timestamping Modes
1487 * enum ionic_port_attr - List of device attributes
1509 * struct ionic_port_setattr_cmd - Set port attributes on the NIC
1541 * struct ionic_port_setattr_comp - Port set attr command completion
1552 * struct ionic_port_getattr_cmd - Get port attributes from the NIC
1565 * struct ionic_port_getattr_comp - Port get attr command completion
1593 * struct ionic_lif_status - LIF status register
1611 * struct ionic_lif_reset_cmd - LIF reset command
1631 * enum ionic_dev_attr - List of device attributes
1643 * struct ionic_dev_setattr_cmd - Set Device attributes on the NIC
1647 * @name: The bus info, e.g. PCI slot-device-function, 0 terminated
1663 * struct ionic_dev_setattr_comp - Device set attr command completion
1679 * struct ionic_dev_getattr_cmd - Get Device attributes from the NIC
1690 * struct ionic_dev_setattr_comp - Device set attr command completion
1720 * enum ionic_lif_attr - List of LIF attributes
1742 * struct ionic_lif_setattr_cmd - Set LIF attributes on the NIC
1781 * struct ionic_lif_setattr_comp - LIF set attr command completion
1799 * struct ionic_lif_getattr_cmd - Get LIF attributes from the NIC
1812 * struct ionic_lif_getattr_comp - LIF get attr command completion
1839 * struct ionic_lif_setphc_cmd - Set LIF PTP Hardware Clock
1871 * struct ionic_rx_mode_set_cmd - Set LIF's Rx mode command
1900 * struct ionic_rx_filter_add_cmd - Add LIF Rx filter command
1909 * @addr: MAC address (network-byte order)
1912 * @addr: MAC address (network-byte order)
1938 * struct ionic_rx_filter_add_comp - Add LIF Rx filter command completion
1954 * struct ionic_rx_filter_del_cmd - Delete LIF Rx filter command
1980 * enum ionic_vf_link_status - Virtual Function link status
1992 * struct ionic_vf_setattr_cmd - Set VF attributes on the NIC
2030 * struct ionic_vf_getattr_cmd - Get VF attributes from the NIC
2065 * struct ionic_vf_ctrl_cmd - VF control command
2079 * struct ionic_vf_ctrl_comp - VF_CTRL command completion.
2089 * struct ionic_qos_identify_cmd - QoS identify command
2101 * struct ionic_qos_identify_comp - QoS identify command completion
2135 * enum ionic_qos_class_type - Traffic classification criteria
2147 * enum ionic_qos_sched_type - QoS class scheduling type
2149 * @IONIC_QOS_SCHED_TYPE_DWRR: Deficit weighted round-robin
2157 * union ionic_qos_config - QoS configuration structure
2163 * IONIC_QOS_CONFIG_F_NON_DISRUPTIVE Non-disruptive TC update
2169 * @pfc_cos: Priority-Flow Control class of service
2185 /* Non-disruptive TC update */
2219 * union ionic_qos_identity - QoS identity structure
2236 * struct ionic_qos_init_cmd - QoS config init command
2252 * struct ionic_qos_reset_cmd - QoS config reset command
2263 * struct ionic_qos_clear_port_stats_cmd - Qos config reset command
2275 * struct ionic_fw_download_cmd - Firmware download command
2292 * enum ionic_fw_control_oper - FW control operations
2313 * struct ionic_fw_control_cmd - Firmware control command
2327 * struct ionic_fw_control_comp - Firmware control copletion
2347 * struct ionic_rdma_reset_cmd - Reset RDMA LIF cmd
2363 * struct ionic_rdma_queue_cmd - Create RDMA Queue command
2408 * struct ionic_notifyq_event - Generic event reporting structure
2423 * struct ionic_link_change_event - Link change event notification
2440 * struct ionic_reset_event - Reset event notification
2458 * struct ionic_heartbeat_event - Sent periodically by NIC to indicate health
2469 * struct ionic_log_event - Sent to notify the driver of an internal error
2481 * struct ionic_xcvr_event - Transceiver change event
2492 * struct ionic_port_stats - Port statistics structure
2650 * struct port_pb_stats - packet buffers system stats
2673 * struct ionic_port_identity - port identity structure
2705 * struct ionic_port_info - port info structure
2725 * struct ionic_lif_stats - LIF statistics structure
2839 /* RDMA/ROCE REQ Error/Debugs (768 - 895) */
2858 /* RDMA/ROCE RESP Error/Debugs (896 - 1023) */
2879 * struct ionic_lif_info - LIF info structure
2966 * struct ionic_hwstamp_regs - Hardware current timestamp registers
2976 * union ionic_dev_info_regs - Device info register format (read-only)
2982 * bit 0 - 1 = fw running
2983 * bit 4-7 - 4 bit generation number, changes on fw restart
3010 * union ionic_dev_cmd_regs - Device command register format (read-write)
3011 * @doorbell: Device Cmd Doorbell, write-only
3015 * @cmd: Opcode-specific command bytes
3016 * @comp: Opcode-specific response bytes
3017 * @data: Opcode-specific side-data
3032 * union ionic_dev_regs - Device register format for bar 0 page 0
3091 * struct ionic_doorbell - Doorbell register layout
3094 * Type-specific meaning:
3096 * ring=1: (CQ, EQ) Re-Arm queue. RDMA CQs