Lines Matching +full:rx +full:- +full:queues +full:- +full:config
1 /* SPDX-License-Identifier: GPL-2.0-only */
16 * all the structures in this header follow little-endian format.
90 * enum virtchnl2_vport_type - Type of virtual port.
98 * enum virtchnl2_queue_model - Type of queue model.
108 * In the split queue model, hardware uses transmit completion queues to post
110 * descriptor queues to post descriptors to hardware.
112 * queue, while software uses receive buffer queues to post buffers to hardware.
230 * enum virtchnl2_action_types - Available actions for sideband flow steering
254 * enum virtchnl2_txq_sched_mode - Transmit Queue Scheduling Modes.
269 * enum virtchnl2_rxq_flags - Receive Queue Feature flags.
270 * @VIRTCHNL2_RXQ_RSC: Rx queue RSC flag.
271 * @VIRTCHNL2_RXQ_HDR_SPLIT: Rx queue header split flag.
275 * @VIRTCHNL2_RX_DESC_SIZE_16BYTE: Rx queue 16 byte descriptor size.
276 * @VIRTCHNL2_RX_DESC_SIZE_32BYTE: Rx queue 32 byte descriptor size.
302 * models. With Split Queue model, 2 additional types are introduced -
325 * enum virtchnl2_mac_addr_type - MAC address types.
436 * 32768 - 65534 are used for user defined protocol ids.
448 * struct virtchnl2_edt_caps - Get EDT granularity and time horizon.
461 * struct virtchnl2_version_info - Version information.
484 * struct virtchnl2_get_capabilities - Capabilities info.
495 * @max_rx_q: Maximum number of supported Rx queues.
496 * @max_tx_q: Maximum number of supported Tx queues.
497 * @max_rx_bufq: Maximum number of supported buffer queues.
498 * @max_tx_complq: Maximum number of supported completion queues.
569 * struct virtchnl2_queue_reg_chunk - Single queue chunk.
572 * @num_queues: Number of queues in the chunk.
590 * struct virtchnl2_queue_reg_chunks - Specify several chunks of contiguous
591 * queues.
604 * enum virtchnl2_vport_flags - Vport flags that indicate vport capabilities.
608 * with explicit Rx queue action
621 * struct virtchnl2_create_vport - Create vport config info.
625 * @num_tx_q: Number of Tx queues.
627 * @num_rx_q: Number of Rx queues.
642 * @inline_flow_caps: Bit mask of supported inline-flow-steering
644 * @sideband_flow_caps: Bit mask of supported sideband-flow-steering
655 * @chunks: Chunks of contiguous queues.
697 * struct virtchnl2_vport - Vport ID info.
715 * struct virtchnl2_txq_info - Transmit queue config info
720 * queue. Used in many to one mapping of transmit queues to
758 * struct virtchnl2_config_tx_queues - TX queue config.
762 * @qinfo: Tx queues config info.
764 * PF sends this message to set up parameters for one or more transmit queues.
766 * structures. CP configures requested queues and returns a status code. If
767 * num_qinfo specified is greater than the number of queues associated with the
768 * vport, an error is returned and no queues are configured.
781 * struct virtchnl2_rxq_info - Receive queue config info.
791 * @buffer_notif_stride: Buffer notification stride in units of 32-descriptors.
794 * @dma_head_wb_addr: Applicable only for receive buffer queues.
795 * @qflags: Applicable only for receive completion queues.
797 * @rx_buffer_low_watermark: Rx buffer low watermark.
799 * the Rx queue. Valid only in split queue model.
801 * the Rx queue. Valid only in split queue model.
837 * struct virtchnl2_config_rx_queues - Rx queues config.
841 * @qinfo: Rx queues config info.
843 * PF sends this message to set up parameters for one or more receive queues.
845 * structures. CP configures requested queues and returns a status code.
846 * If the number of queues specified is greater than the number of queues
847 * associated with the vport, an error is returned and no queues are configured.
860 * struct virtchnl2_add_queues - data for VIRTCHNL2_OP_ADD_QUEUES.
863 * @num_tx_complq: Number of Tx completion queues.
864 * @num_rx_q: Number of Rx queues.
865 * @num_rx_bufq: Number of Rx buffer queues.
867 * @chunks: Chunks of contiguous queues.
869 * PF sends this message to request additional transmit/receive queues beyond
871 * structure is used to specify the number of each type of queues.
872 * CP responds with the same structure with the actual number of queues assigned
889 * struct virtchnl2_vector_chunk - Structure to specify a chunk of contiguous
906 * Dynamic control registers are used for enabling/disabling/re-enabling
928 * struct virtchnl2_vector_chunks - chunks of contiguous interrupt vectors.
946 * struct virtchnl2_alloc_vectors - vector allocation info.
967 * struct virtchnl2_rss_lut - RSS LUT info.
990 * struct virtchnl2_rss_hash - RSS hash info.
1012 * struct virtchnl2_sriov_vfs_info - VFs info.
1017 * allocation of resources for the VFs in terms of vport, queues and interrupts
1031 * struct virtchnl2_ptype - Packet type info.
1032 * @ptype_id_10: 10-bit packet type.
1033 * @ptype_id_8: 8-bit packet type.
1055 * struct virtchnl2_get_ptype_info - Packet type info.
1061 * For the flex descriptor, it is 1024 (10-bit ptype), and for the base
1062 * descriptor, it is 256 (8-bit ptype). Send this message to the CP by
1091 * struct virtchnl2_vport_stats - Vport statistics.
1137 * struct virtchnl2_event - Event info.
1162 * struct virtchnl2_rss_key - RSS key info.
1182 * struct virtchnl2_queue_chunk - chunk of contiguous queues
1185 * @num_queues: Number of queues.
1196 /* struct virtchnl2_queue_chunks - chunks of contiguous queues
1199 * @chunks: Chunks of contiguous queues info.
1209 * struct virtchnl2_del_ena_dis_queues - Enable/disable queues info.
1212 * @chunks: Chunks of contiguous queues info.
1214 * PF sends these messages to enable, disable or delete queues specified in
1215 * chunks. PF sends virtchnl2_del_ena_dis_queues struct to specify the queues
1230 * struct virtchnl2_queue_vector - Queue to vector mapping.
1249 * struct virtchnl2_queue_vector_maps - Map/unmap queues info.
1255 * PF sends this message to map or unmap queues to vectors and interrupt
1273 * struct virtchnl2_loopback - Loopback info.
1291 /* struct virtchnl2_mac_addr - MAC address info.
1304 * struct virtchnl2_mac_addr_list - List of MAC addresses.
1325 * struct virtchnl2_promisc_info - Promisc type info.
1344 * enum virtchnl2_ptp_caps - PTP capabilities
1363 * There are two access methods - mailbox (_MB) and direct.
1381 * struct virtchnl2_ptp_clk_reg_offsets - Offsets of device and PHY clocks
1401 * struct virtchnl2_ptp_cross_time_reg_offsets - Offsets of the device cross
1417 * struct virtchnl2_ptp_clk_adj_reg_offsets - Offsets of device and PHY clocks
1445 * struct virtchnl2_ptp_tx_tstamp_latch_caps - PTP Tx timestamp latch
1461 * struct virtchnl2_ptp_get_vport_tx_tstamp_caps - Structure that defines Tx
1488 * struct virtchnl2_ptp_get_caps - Get PTP capabilities
1529 * struct virtchnl2_ptp_tx_tstamp_latch - Structure that describes tx tstamp
1545 * struct virtchnl2_ptp_get_vport_tx_tstamp_latches - Tx timestamp latches
1572 * struct virtchnl2_ptp_get_dev_clk_time - Associated with message
1636 * struct virtchnl2_mem_region - MMIO memory region
1647 * struct virtchnl2_get_lan_memory_regions - List of LAN MMIO memory regions
1666 * struct virtchnl2_proto_hdr - represent one protocol header
1683 * struct virtchnl2_proto_hdrs - struct to represent match criteria
1686 * 0 - from the outer layer
1687 * 1 - from the first inner layer
1688 * 2 - from the second inner layer
1711 * struct virtchnl2_rule_action - struct representing single action for a flow
1737 * struct virtchnl2_rule_action_set - struct representing multiple actions
1749 * struct virtchnl2_flow_rule - represent one flow steering rule
1790 * struct virtchnl2_flow_rule_add_del - add/delete a flow steering rule