Lines Matching +full:tx +full:- +full:mailbox +full:- +full:count

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.
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.
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.
491 * @mailbox_dyn_ctl: DYN_CTL register offset and vector id for mailbox
493 * @mailbox_vector_id: Mailbox vector id.
496 * @max_tx_q: Maximum number of supported Tx queues.
528 * which is default vector associated with the default mailbox. For any other
531 * CP will respond with the vector ID of mailbox allocated to the PF in
569 * struct virtchnl2_queue_reg_chunk - Single queue chunk.
590 * struct virtchnl2_queue_reg_chunks - Specify several chunks of contiguous
604 * enum virtchnl2_vport_flags - Vport flags that indicate vport capabilities.
621 * struct virtchnl2_create_vport - Create vport config info.
625 * @num_tx_q: Number of Tx queues.
642 * @inline_flow_caps: Bit mask of supported inline-flow-steering
644 * @sideband_flow_caps: Bit mask of supported sideband-flow-steering
697 * struct virtchnl2_vport - Vport ID info.
715 * struct virtchnl2_txq_info - Transmit queue config info
724 * @qflags: TX queue feature flags.
758 * struct virtchnl2_config_tx_queues - TX queue config.
762 * @qinfo: Tx queues config info.
781 * struct virtchnl2_rxq_info - Receive queue config info.
791 * @buffer_notif_stride: Buffer notification stride in units of 32-descriptors.
837 * struct virtchnl2_config_rx_queues - Rx queues config.
860 * struct virtchnl2_add_queues - data for VIRTCHNL2_OP_ADD_QUEUES.
862 * @num_tx_q: Number of Tx qieues.
863 * @num_tx_complq: Number of Tx completion queues.
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.
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
1071 * If all the ptypes don't fit into one mailbox buffer, CP splits the
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
1196 /* struct virtchnl2_queue_chunks - chunks of contiguous queues
1209 * struct virtchnl2_del_ena_dis_queues - Enable/disable queues info.
1230 * struct virtchnl2_queue_vector - Queue to vector mapping.
1249 * struct virtchnl2_queue_vector_maps - Map/unmap queues info.
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
1347 * @VIRTCHNL2_CAP_PTP_GET_DEVICE_CLK_TIME_MB: mailbox access to get the time of
1350 * @VIRTCHNL2_CAP_PTP_GET_CROSS_TIME_MB: mailbox access to cross timestamp
1353 * @VIRTCHNL2_CAP_PTP_SET_DEVICE_CLK_TIME_MB: mailbox access to set the time of
1357 * @VIRTCHNL2_CAP_PTP_ADJ_DEVICE_CLK_MB: mailbox access to adjust the time of
1359 * @VIRTCHNL2_CAP_PTP_TX_TSTAMPS: direct access to the Tx timestamping
1360 * @VIRTCHNL2_CAP_PTP_TX_TSTAMPS_MB: mailbox access to the Tx timestamping
1363 * There are two access methods - mailbox (_MB) and direct.
1365 * cross timestamping and the Tx timestamping.
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
1447 * @tx_latch_reg_offset_l: Tx timestamp latch low register offset
1448 * @tx_latch_reg_offset_h: Tx timestamp latch high register offset
1449 * @index: Latch index provided to the Tx descriptor
1461 * struct virtchnl2_ptp_get_vport_tx_tstamp_caps - Structure that defines Tx
1468 * @tstamp_latches: Capabilities of Tx timestamp entries
1470 * PF/VF sends this message to negotiate the Tx timestamp latches for each
1488 * struct virtchnl2_ptp_get_caps - Get PTP capabilities
1495 * mailbox to inetract with control plane for PTP
1529 * struct virtchnl2_ptp_tx_tstamp_latch - Structure that describes tx tstamp
1545 * struct virtchnl2_ptp_get_vport_tx_tstamp_latches - Tx timestamp latches
1549 * @get_devtime_with_txtstmp: Flag to request device time along with Tx timestamp
1552 * @tstamp_latches: PTP TX timestamp latch
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
1690 * @count: total number of protocol headers in proto_hdr. 0 for raw packet.
1692 * @raw: struct holding raw packet buffer when count is 0
1697 __le32 count; member
1711 * struct virtchnl2_rule_action - struct representing single action for a flow
1716 * @act_conf.ctr_id: used for count action. If input value 0xFFFFFFFF control
1737 * struct virtchnl2_rule_action_set - struct representing multiple actions
1738 * @count: number of valid actions in the action set of a rule
1742 /* action count must be less than VIRTCHNL2_MAX_NUM_ACTIONS */
1743 __le32 count; member
1749 * struct virtchnl2_flow_rule - represent one flow steering rule
1790 * struct virtchnl2_flow_rule_add_del - add/delete a flow steering rule
1792 * @count: Indicates number of rules to be added or deleted.
1808 __le32 count; member
1809 struct virtchnl2_flow_rule_info rule_info[] __counted_by_le(count);