Lines Matching +full:frame +full:- +full:number

1 /* SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) */
2 /* Copyright 2013-2016 Freescale Semiconductor Inc.
20 * DPNI_MAX_TC - Maximum number of traffic classes
24 * DPNI_MAX_DPBP - Maximum number of buffer pools per DPNI
29 * DPNI_ALL_TCS - All traffic classes considered; see dpni_set_queue()
31 #define DPNI_ALL_TCS (u8)(-1)
33 * DPNI_ALL_TC_FLOWS - All flows within traffic class considered; see
36 #define DPNI_ALL_TC_FLOWS (u16)(-1)
38 * DPNI_NEW_FLOW_ID - Generate new flow ID; see dpni_set_queue()
40 #define DPNI_NEW_FLOW_ID (u16)(-1)
43 * DPNI_OPT_TX_FRM_RELEASE - Tx traffic is always released to a buffer pool on
49 * DPNI_OPT_NO_MAC_FILTER - Disables support for MAC address filtering for
57 * DPNI_OPT_HAS_POLICING - Allocate policers for this DPNI. They can be used to
58 * rate-limit traffic per traffic class (TC) basis.
62 * DPNI_OPT_SHARED_CONGESTION - Congestion can be managed in several ways,
70 * DPNI_OPT_HAS_KEY_MASKING - Enables TCAM for Flow Steering and QoS look-ups.
71 * If not specified, all look-ups are exact match. Note that TCAM is not
77 * DPNI_OPT_NO_FS - Disables the flow steering table.
81 * DPNI_OPT_SHARED_FS - Flow steering table is shared between all traffic
99 * struct dpni_pools_cfg - Structure representing buffer pools configuration
100 * @num_dpbp: Number of DPBPs
103 * @pools: Array of buffer pools parameters; The number of valid entries
148 /* DPNI_IRQ_EVENT_LINK_CHANGED - indicates a change in link state */
151 /* DPNI_IRQ_EVENT_ENDPOINT_CHANGED - indicates a change in endpoint */
191 * struct dpni_attr - Structure representing DPNI attributes
199 * @num_queues: Number of Tx and Rx queues used for traffic distribution.
200 * @num_tcs: Number of traffic classes (TCs), reserved for the DPNI.
201 * @mac_filter_entries: Number of entries in the MAC address filtering table.
202 * @vlan_filter_entries: Number of entries in the VLAN address filtering table.
203 * @qos_entries: Number of entries in the QoS classification table.
204 * @fs_entries: Number of entries in the flow steering table.
205 * @qos_key_size: Size, in bytes, of the QoS look-up key. Defining a key larger
207 * @fs_key_size: Size, in bytes, of the flow steering look-up key. Defining a
234 * DPNI_ERROR_EOFHE - Extract out of frame header error
238 * DPNI_ERROR_FLE - Frame length error
242 * DPNI_ERROR_FPE - Frame physical error
246 * DPNI_ERROR_PHE - Parsing header error
250 * DPNI_ERROR_L3CE - Parser L3 checksum error
254 * DPNI_ERROR_L4CE - Parser L3 checksum error
259 * enum dpni_error_action - Defines DPNI behavior for errors
260 * @DPNI_ERROR_ACTION_DISCARD: Discard the frame
262 * @DPNI_ERROR_ACTION_SEND_TO_ERROR_QUEUE: Send the frame to the error queue
271 * struct dpni_error_cfg - Structure representing DPNI errors treatment
274 * @set_frame_annotation: Set to '1' to mark the errors in frame annotation
275 * status (FAS); relevant only for the non-discard action
291 * DPNI_BUF_LAYOUT_OPT_TIMESTAMP - Select to modify the time-stamp setting
295 * DPNI_BUF_LAYOUT_OPT_PARSER_RESULT - Select to modify the parser-result
300 * DPNI_BUF_LAYOUT_OPT_FRAME_STATUS - Select to modify the frame-status setting
304 * DPNI_BUF_LAYOUT_OPT_PRIVATE_DATA_SIZE - Select to modify the private-data-size setting
308 * DPNI_BUF_LAYOUT_OPT_DATA_ALIGN - Select to modify the data-alignment setting
312 * DPNI_BUF_LAYOUT_OPT_DATA_HEAD_ROOM - Select to modify the data-head-room setting
316 * DPNI_BUF_LAYOUT_OPT_DATA_TAIL_ROOM - Select to modify the data-tail-room setting
321 * struct dpni_buffer_layout - Structure representing DPNI buffer layout
326 * @pass_frame_status: Pass frame status
344 * enum dpni_queue_type - Identifies a type of queue targeted by the command
370 * enum dpni_offload - Identifies a type of offload targeted by the command
409 * union dpni_statistics - Union describing the DPNI statistics
411 * @page_0.ingress_all_frames: Ingress frame count
413 * @page_0.ingress_multicast_frames: Ingress multicast frame count
415 * @page_0.ingress_broadcast_frames: Ingress broadcast frame count
418 * @page_1.egress_all_frames: Egress frame count
420 * @page_1.egress_multicast_frames: Egress multicast frame count
422 * @page_1.egress_broadcast_frames: Egress broadcast frame count
425 * @page_2.ingress_filtered_frames: Ingress filtered frame count
426 * @page_2.ingress_discarded_frames: Ingress discarded frame count
427 * @page_2.ingress_nobuffer_discards: Ingress discarded frame count due to
429 * @page_2.egress_discarded_frames: Egress discarded frame count
430 * @page_2.egress_confirmed_frames: Egress confirmed frame count
432 * @page_3.egress_dequeue_bytes: Cumulative count of the number of bytes
434 * @page_3.egress_dequeue_frames: Cumulative count of the number of frames
436 * @page_3.egress_reject_bytes: Cumulative count of the number of bytes in
438 * @page_3.egress_reject_frames: Cumulative count of the number of egress
441 * @page_4.cgr_reject_frames: number of rejected frames due to congestion point
442 * @page_4.cgr_reject_bytes: number of rejected bytes due to congestion point
444 * @page_5.policer_cnt_red: NUmber of red colored frames
445 * @page_5.policer_cnt_yellow: number of yellow colored frames
446 * @page_5.policer_cnt_green: number of green colored frames
447 * @page_5.policer_cnt_re_red: number of recolored red frames
448 * @page_5.policer_cnt_re_yellow: number of recolored yellow frames
450 * @page_6.tx_pending_frames: total number of frames pending in egress FQs
515 * struct dpni_link_cfg - Structure representing DPNI link configuration
535 * struct dpni_link_state - Structure representing DPNI link state
613 * enum dpni_dist_mode - DPNI distribution mode
627 * enum dpni_fs_miss_action - DPNI Flow Steering miss action
628 * @DPNI_FS_MISS_DROP: In case of no-match, drop the frame
629 * @DPNI_FS_MISS_EXPLICIT_FLOWID: In case of no-match, use explicit flow-id
630 * @DPNI_FS_MISS_HASH: In case of no-match, distribute using hash
639 * struct dpni_fs_tbl_cfg - Flow Steering table configuration
652 * struct dpni_rx_tc_dist_cfg - Rx traffic class distribution configuration
657 * @key_cfg_iova: I/O virtual address of 256 bytes DMA-able memory filled with
678 * DPNI_FS_MISS_DROP - When used for fs_miss_flow_id in function
681 #define DPNI_FS_MISS_DROP ((uint16_t)-1)
684 * struct dpni_rx_dist_cfg - Rx distribution configuration
686 * @key_cfg_iova: I/O virtual address of 256 bytes DMA-able memory filled with
717 * struct dpni_qos_tbl_cfg - Structure representing QOS table configuration
718 * @key_cfg_iova: I/O virtual address of 256 bytes DMA-able memory filled with
723 * @default_tc: Used in case of no-match and 'discard_on_miss'= 0
737 * enum dpni_dest - DPNI destination types
740 * dequeue from the queue based on polling or other user-defined
756 * struct dpni_queue - Queue structure
757 * @destination: - Destination structure
762 * 0 - No destination, queue can be manually
765 * 1 - The destination is a DPIO. When traffic
769 * 2 - The destination is a DPCON. The queue is
788 * - significant bits are used for stash control.
791 * - bits 0-1: indicates the number of 64 byte units of context
794 * - bits 2-3: indicates the number of 64 byte units of frame
796 * - bits 4-5: indicates the number of 64 byte units of frame
797 * data to be stashed. Frame data is placed at FD[ADDR] +
799 * For more details check the Frame Descriptor section in the
817 * struct dpni_queue_id - Queue identification, used for enqueue commands
853 * enum dpni_congestion_unit - DPNI congestion units
863 * enum dpni_congestion_point - Structure representing congestion point
877 * struct dpni_dest_cfg - Structure representing DPNI destination parameters
881 * values are 0-1 or 0-7, depending on the number of priorities
893 * DPNI_CONG_OPT_FLOW_CONTROL - This congestion will trigger flow control or
900 * struct dpni_congestion_notification_cfg - congestion notification
907 * @message_iova: I/O virtual address (must be in DMA-able memory),
933 * struct dpni_taildrop - Structure representing the taildrop
967 * struct dpni_rule_cfg - Rule configuration for table lookup
968 * @key_iova: I/O virtual address of the key (must be in DMA-able memory)
969 * @mask_iova: I/O virtual address of the mask (must be in DMA-able memory)
979 * DPNI_FS_OPT_DISCARD - Discard matching traffic. If set, this takes
986 * DPNI_FS_OPT_SET_FLC - Set FLC value. If set, flc member of struct
988 * For more details check the Frame Descriptor section in the hardware
994 * DPNI_FS_OPT_SET_STASH_CONTROL - Indicates whether the 6 lowest significant
997 * - bits 0-1: indicates the number of 64 byte units of context that are
1000 * - bits 2-3: indicates the number of 64 byte units of frame annotation
1002 * - bits 4-5: indicates the number of 64 byte units of frame data to be
1003 * stashed. Frame data is placed at FD[ADDR] + FD[OFFSET].
1009 * struct dpni_fs_action_cfg - Action configuration for table look-up
1011 * Frame Descriptor section in the hardware documentation for
1014 * values are in range 0 to num_queue-1.
1058 * struct dpni_tx_shaping_cfg - Structure representing DPNI tx shaping configuration
1075 * struct dpni_single_step_cfg - configure single step PTP (IEEE 1588)
1079 * @offset: start offset from the beginning of the frame where
1083 * @peer_delay: For peer-to-peer transparent clocks add this value to the