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

2  * Copyright 2008-2012 Freescale Semiconductor Inc.
44 * - fman_dtsec_defconfig() - This step is optional and yet recommended. Its
47 * - Change dtsec configuration in &dtsec_cfg. This structure will be used
50 * - fman_dtsec_init() - Applies the configuration on dTSEC hardware. Note that
53 * - fman_dtsec_set_mac_address() - Set the station address (mac address).
56 * - fman_dtsec_adjust_link() - Set the link speed and duplex parameters
59 * - dtsec_enable_tx() and dtsec_enable_rx() to enable transmission and
104 * %DTSEC_IEVENT_BABR - Babbling receive error. This bit indicates that
105 * a frame was received with length in excess of the MAC's maximum frame length
108 * %DTSEC_IEVENT_RXC - Receive control (pause frame) interrupt. A pause
109 * control frame was received while Rx pause frame handling is enabled.
112 * %DTSEC_IEVENT_MSRO - MIB counter overflow. The count for one of the MIB
115 * %DTSEC_IEVENT_GTSC - Graceful transmit stop complete. Graceful stop is now
120 * %DTSEC_IEVENT_BABT - Babbling transmit error. The transmitted frame length
121 * has exceeded the value in the MAC's Maximum Frame Length register.
123 * %DTSEC_IEVENT_TXC - Transmit control (pause frame) interrupt. his bit
124 * indicates that a control frame was transmitted.
126 * %DTSEC_IEVENT_TXE - Transmit error. This bit indicates that an error
128 * error occurs which causes the dTSEC to discard all or part of a frame
131 * %DTSEC_IEVENT_LC - Late collision. This bit indicates that a collision
132 * occurred beyond the collision window (slot time) in half-duplex mode.
133 * The frame is truncated with a bad CRC and the remainder of the frame
136 * %DTSEC_IEVENT_CRL - Collision retry limit. is bit indicates that the number
137 * of successive transmission collisions has exceeded the MAC's half-duplex
138 * register's retransmission maximum count. The frame is discarded without
139 * being transmitted and transmission of the next frame commences. This only
140 * occurs while in half-duplex mode.
141 * The number of retransmit attempts can be set in
144 * %DTSEC_IEVENT_XFUN - Transmit FIFO underrun. This bit indicates that the
145 * transmit FIFO became empty before the complete frame was transmitted.
146 * The frame is truncated with a bad CRC and the remainder of the frame is
149 * %DTSEC_IEVENT_MAG - TBD
151 * %DTSEC_IEVENT_MMRD - MII management read completion.
153 * %DTSEC_IEVENT_MMWR - MII management write completion.
155 * %DTSEC_IEVENT_GRSC - Graceful receive stop complete. It allows the user to
160 * %DTSEC_IEVENT_TDPE - Internal data error on transmit. This bit indicates
164 * %DTSEC_IEVENT_RDPE - Internal data error on receive. This bit indicates that
333 #define NUM_OF_HASH_REGS 8 /* Number of hash table registers */
415 uint32_t tmr_ctrl; /* 0x020 Time-stamp Control register */
416 uint32_t tmr_pevent; /* 0x024 Time-stamp event register */
423 uint32_t igaddr[8]; /* 0x080-0x09C Individual/group address */
424 uint32_t gaddr[8]; /* 0x0A0-0x0BC Group address registers 0-7 */
429 uint32_t hafdup; /* 0x10C Half-duplex */
430 uint32_t maxfrm; /* 0x110 Maximum frame */
436 uint32_t exact_match1; /* octets 1-4 */
437 uint32_t exact_match2; /* octets 5-6 */
438 } macaddr[15]; /* 0x148-0x1BC mac exact match addresses 1-15 */
440 uint32_t tr64; /* 0x200 transmit and receive 64 byte frame counter */
441 uint32_t tr127; /* 0x204 transmit and receive 65 to 127 byte frame
443 uint32_t tr255; /* 0x208 transmit and receive 128 to 255 byte frame
445 uint32_t tr511; /* 0x20C transmit and receive 256 to 511 byte frame
447 uint32_t tr1k; /* 0x210 transmit and receive 512 to 1023 byte frame
449 uint32_t trmax; /* 0x214 transmit and receive 1024 to 1518 byte frame
452 * VLAN frame count */
458 uint32_t rxcf; /* 0x230 receive control frame packet counter */
459 uint32_t rxpf; /* 0x234 receive pause frame packet counter */
462 uint32_t rflr; /* 0x240 receive frame length error counter */
474 uint32_t txpf; /* 0x270 transmit pause control frame counter */
483 uint32_t tdrp; /* 0x294 transmit drop frame counter */
484 uint32_t tjbr; /* 0x298 transmit jabber frame counter */
486 uint32_t txcf; /* 0x2A0 transmit control frame counter */
487 uint32_t tovr; /* 0x2A4 transmit oversize frame counter */
488 uint32_t tund; /* 0x2A8 transmit undersize frame counter */
489 uint32_t tfrg; /* 0x2AC transmit fragments frame counter */
498 * struct dtsec_mib_grp_1_counters - MIB counter overflows
500 * @tr64: Transmit and Receive 64 byte frame count. Increment for each
501 * good or bad frame, of any type, transmitted or received, which
503 * @tr127: Transmit and Receive 65 to 127 byte frame count. Increments for
504 * each good or bad frame of any type, transmitted or received,
505 * which is 65-127 bytes in length.
506 * @tr255: Transmit and Receive 128 to 255 byte frame count. Increments
507 * for each good or bad frame, of any type, transmitted or
508 * received, which is 128-255 bytes in length.
509 * @tr511: Transmit and Receive 256 to 511 byte frame count. Increments
510 * for each good or bad frame, of any type, transmitted or
511 * received, which is 256-511 bytes in length.
512 * @tr1k: Transmit and Receive 512 to 1023 byte frame count. Increments
513 * for each good or bad frame, of any type, transmitted or
514 * received, which is 512-1023 bytes in length.
515 * @trmax: Transmit and Receive 1024 to 1518 byte frame count. Increments
516 * for each good or bad frame, of any type, transmitted or
517 * received, which is 1024-1518 bytes in length.
518 * @rfrg: Receive fragments count. Increments for each received frame
520 * FCS. This includes integral and non-integral lengths.
529 * frame from 64 to 1518 (non VLAN) or 1522 (VLAN) which contains
530 * an invalid FCS and is not an integral number of bytes.
531 * @rund: Receive undersize packet count. Increments each time a frame is
535 * @rovr: Receive oversize packet count. Increments each time a frame is
541 * @rpkt: Receive packet count. Increments for each received frame
545 * frame with valid CRC and of lengths 64 to 1518 (non VLAN) or
549 * frame with valid CRC and of lengths 64 to 1518 (non VLAN) or
552 * @tdrp: Transmit drop frame count. Increments each time a memory error
554 * @tncl: Transmit total collision counter. Increments by the number of
555 * collisions experienced during the transmission of a frame. Does
562 * tr64 to trmax notes: Frame sizes specified are considered excluding preamble
631 * struct dtsec_cfg - dTSEC configuration
633 * @halfdup_on: Transmit half-duplex flow control, under software
634 * control for 10/100-Mbps half-duplex media. If set,
636 * @halfdup_retransmit: Number of retransmission attempts following a collision.
640 * @halfdup_coll_window:The number of bytes of the frame during which
642 * corresponds to the frame byte at the end of the
643 * standard 512-bit slot time window. If collisions are
645 * asserted and transmission of current frame is aborted.
651 * checks the frame's length field on receive to ensure it
657 * frame regardless of padding requirement.
663 * @rx_ctrl_acc: Control frame accept. If set, this overrides 802.3
664 * standard control frame behavior, and all Ethernet frames
671 * part of the pause frame to be sent when a transmit pause
672 * frame is initiated. If set to 0 this disables
675 * received Ethernet 7-byte preamble and passes it to the
676 * packet interface at the start of each received frame.
677 * This field should be reset for internal MAC loop-back
680 * If set, a user-defined preamble must passed to the MAC
683 * Ethernet start-of-frame delimiter byte. The default
686 * @rx_prepend: Packet alignment padding length. The specified number
687 * of bytes (1-31) of zero padding are inserted before the
688 * start of each received frame. For Ethernet, where
739 * fman_dtsec_defconfig() - Get default dTSEC configuration
749 * fman_dtsec_init() - Init dTSEC hardware block
752 * @iface_mode: dTSEC interface mode, the type of MAC - PHY interface.
755 * @fm_rev_maj: major rev number
756 * @fm_rev_min: minor rev number
776 * fman_dtsec_enable() - Enable dTSEC Tx and Tx
786 * fman_dtsec_disable() - Disable dTSEC Tx and Rx
796 * fman_dtsec_get_revision() - Get dTSEC hardware revision
806 * fman_dtsec_set_mac_address() - Set MAC station address
818 * fman_dtsec_get_mac_address() - Query MAC station address
825 * fman_dtsec_set_uc_promisc() - Sets unicast promiscuous mode
838 * fman_dtsec_set_wol() - Enable/Disable wake on lan
847 * fman_dtsec_adjust_link() - Adjust dTSEC speed/duplex settings
851 * @full_dx: True for full-duplex, false for half-duplex.
855 * changes (for instance following PHY auto-negociation).
864 * fman_dtsec_set_tbi_phy_addr() - Updates TBI address field
877 * fman_dtsec_set_max_frame_len() - Set max frame length
879 * @length: Max frame length.
881 * Sets maximum frame length for received and transmitted frames. Frames that
887 * fman_dtsec_get_max_frame_len() - Query max frame length
890 * Returns: the current value of the maximum frame length.
895 * fman_dtsec_handle_rx_pause() - Configure pause frame handling
897 * @en: Enable pause frame handling in dTSEC
900 * if dTSEC is set in half-duplex mode.
901 * If pause frame handling is disabled and &dtsec_cfg.rx_ctrl_acc is set, pause
908 * fman_dtsec_set_tx_pause_frames() - Configure Tx pause time
918 * fman_dtsec_ack_event() - Acknowledge handled events
929 * fman_dtsec_get_event() - Returns currently asserted events
933 * Call this function to obtain a bit-mask of events that are currently asserted
936 * Returns: a bit-mask of events asserted in dTSEC.
941 * fman_dtsec_get_interrupt_mask() - Returns a bit-mask of enabled interrupts
944 * Call this function to obtain a bit-mask of enabled interrupts
947 * Returns: a bit-mask of enabled interrupts in dTSEC.
963 * fman_dtsec_disable_interrupt() - Disables interrupts for the specified events
973 * fman_dtsec_enable_interrupt() - Enable interrupts for the specified events
983 * fman_dtsec_set_ts() - Enables dTSEC timestamps
993 * fman_dtsec_set_bucket() - Enables/disables a filter bucket
1009 * dtsec_set_hash_table() - insert a crc code into thr filter table
1021 * fman_dtsec_reset_filter_table() - Resets the address filtering table
1037 * fman_dtsec_set_mc_promisc() - Set multicast promiscuous mode
1048 * fman_dtsec_set_stat_level() - Enable a group of MIB statistics counters
1063 * fman_dtsec_reset_stat() - Completely resets all dTSEC HW counters
1069 * fman_dtsec_get_clear_carry_regs() - Read and clear carry bits (CAR1-2 registers)
1076 * Note that the carry bits (CAR1-2 registers) will assert the
1077 * %DTSEC_IEVENT_MSRO interrupt if unmasked (via CAM1-2 regs).
1079 * Returns: true if overflow occurred, otherwise - false