Lines Matching +full:enum +full:- +full:model
1 /* SPDX-License-Identifier: GPL-2.0-only */
16 * all the structures in this header follow little-endian format.
33 enum virtchnl2_op {
74 * enum virtchnl2_vport_type - Type of virtual port.
77 enum virtchnl2_vport_type {
82 * enum virtchnl2_queue_model - Type of queue model.
83 * @VIRTCHNL2_QUEUE_MODEL_SINGLE: Single queue model.
84 * @VIRTCHNL2_QUEUE_MODEL_SPLIT: Split queue model.
86 * In the single queue model, the same transmit descriptor queue is used by
92 * In the split queue model, hardware uses transmit completion queues to post
98 enum virtchnl2_queue_model {
104 enum virtchnl2_cap_txrx_csum {
132 enum virtchnl2_cap_seg {
145 enum virtchnl2_cap_rss {
163 enum virtchnl2_cap_rx_hsplit_at {
173 enum virtchnl2_cap_rsc {
181 enum virtchnl2_cap_other {
186 /* Queue based scheduling using split queue model */
211 enum virtchl2_device_type {
216 * enum virtchnl2_txq_sched_mode - Transmit Queue Scheduling Modes.
225 enum virtchnl2_txq_sched_mode {
231 * enum virtchnl2_rxq_flags - Receive Queue Feature flags.
240 enum virtchnl2_rxq_flags {
249 enum virtchnl2_rss_alg {
257 enum virtchnl2_event_codes {
264 * models. With Split Queue model, 2 additional types are introduced -
265 * TX_COMPLETION and RX_BUFFER. In split queue model, receive corresponds to
268 enum virtchnl2_queue_type {
281 enum virtchnl2_itr_idx {
287 * enum virtchnl2_mac_addr_type - MAC address types.
300 enum virtchnl2_mac_addr_type {
306 enum virtchnl2_promisc_flags {
316 enum virtchnl2_proto_hdr_type {
398 * 32768 - 65534 are used for user defined protocol ids.
404 enum virtchl2_version {
410 * struct virtchnl2_edt_caps - Get EDT granularity and time horizon.
423 * struct virtchnl2_version_info - Version information.
446 * struct virtchnl2_get_capabilities - Capabilities info.
447 * @csum_caps: See enum virtchnl2_cap_txrx_csum.
448 * @seg_caps: See enum virtchnl2_cap_seg.
449 * @hsplit_caps: See enum virtchnl2_cap_rx_hsplit_at.
450 * @rsc_caps: See enum virtchnl2_cap_rsc.
451 * @rss_caps: See enum virtchnl2_cap_rss.
452 * @other_caps: See enum virtchnl2_cap_other.
471 * @device_type: See enum virtchl2_device_type.
528 * struct virtchnl2_queue_reg_chunk - Single queue chunk.
529 * @type: See enum virtchnl2_queue_type.
549 * struct virtchnl2_queue_reg_chunks - Specify several chunks of contiguous
563 * struct virtchnl2_create_vport - Create vport config info.
564 * @vport_type: See enum virtchnl2_vport_type.
587 * @rx_split_pos: See enum virtchnl2_cap_rx_hsplit_at.
627 * struct virtchnl2_vport - Vport ID info.
645 * struct virtchnl2_txq_info - Transmit queue config info
647 * @type: See enum virtchnl2_queue_type.
649 * @relative_queue_id: Valid only if queue model is split and type is transmit
652 * @model: See enum virtchnl2_queue_model.
653 * @sched_mode: See enum virtchnl2_txq_sched_mode.
656 * @tx_compl_queue_id: Valid only if queue model is split and type is transmit
672 __le16 model; member
688 * struct virtchnl2_config_tx_queues - TX queue config.
711 * struct virtchnl2_rxq_info - Receive queue config info.
714 * @type: See enum virtchnl2_queue_type.
716 * @model: See enum virtchnl2_queue_model.
721 * @buffer_notif_stride: Buffer notification stride in units of 32-descriptors.
726 * See enum virtchnl2_rxq_flags.
729 * the Rx queue. Valid only in split queue model.
731 * the Rx queue. Valid only in split queue model.
745 __le16 model; member
767 * struct virtchnl2_config_rx_queues - Rx queues config.
790 * struct virtchnl2_add_queues - data for VIRTCHNL2_OP_ADD_QUEUES.
819 * struct virtchnl2_vector_chunk - Structure to specify a chunk of contiguous
836 * Dynamic control registers are used for enabling/disabling/re-enabling
858 * struct virtchnl2_vector_chunks - chunks of contiguous interrupt vectors.
876 * struct virtchnl2_alloc_vectors - vector allocation info.
897 * struct virtchnl2_rss_lut - RSS LUT info.
920 * struct virtchnl2_rss_hash - RSS hash info.
942 * struct virtchnl2_sriov_vfs_info - VFs info.
961 * struct virtchnl2_ptype - Packet type info.
962 * @ptype_id_10: 10-bit packet type.
963 * @ptype_id_8: 8-bit packet type.
968 * See enum virtchnl2_proto_hdr_type.
985 * struct virtchnl2_get_ptype_info - Packet type info.
991 * For the flex descriptor, it is 1024 (10-bit ptype), and for the base
992 * descriptor, it is 256 (8-bit ptype). Send this message to the CP by
1021 * struct virtchnl2_vport_stats - Vport statistics.
1067 * struct virtchnl2_event - Event info.
1068 * @event: Event opcode. See enum virtchnl2_event_codes.
1092 * struct virtchnl2_rss_key - RSS key info.
1112 * struct virtchnl2_queue_chunk - chunk of contiguous queues
1113 * @type: See enum virtchnl2_queue_type.
1126 /* struct virtchnl2_queue_chunks - chunks of contiguous queues
1139 * struct virtchnl2_del_ena_dis_queues - Enable/disable queues info.
1160 * struct virtchnl2_queue_vector - Queue to vector mapping.
1164 * @itr_idx: See enum virtchnl2_itr_idx.
1165 * @queue_type: See enum virtchnl2_queue_type.
1179 * struct virtchnl2_queue_vector_maps - Map/unmap queues info.
1203 * struct virtchnl2_loopback - Loopback info.
1221 /* struct virtchnl2_mac_addr - MAC address info.
1223 * @type: MAC type. See enum virtchnl2_mac_addr_type.
1234 * struct virtchnl2_mac_addr_list - List of MAC addresses.
1255 * struct virtchnl2_promisc_info - Promisc type info.
1257 * @flags: See enum virtchnl2_promisc_flags.