1.. SPDX-License-Identifier: GPL-2.0 2 3============================================== 4Texas Instruments ICSSG PRUETH ethernet driver 5============================================== 6 7:Version: 1.0 8 9ICSSG Firmware 10============== 11 12Every ICSSG core has two Programmable Real-Time Unit(PRUs), two auxiliary 13Real-Time Transfer Unit (RTUs), and two Transmit Real-Time Transfer Units 14(TX_PRUs). Each one of these runs its own firmware. The firmwares combnined are 15referred as ICSSG Firmware. 16 17Firmware Statistics 18=================== 19 20The ICSSG firmware maintains certain statistics which are dumped by the driver 21via ``ethtool -S <interface>`` 22 23These statistics are as follows, 24 25 - ``FW_RTU_PKT_DROP``: Diagnostic error counter which increments when RTU drops a locally injected packet due to port being disabled or rule violation. 26 - ``FW_Q0_OVERFLOW``: TX overflow counter for queue0 27 - ``FW_Q1_OVERFLOW``: TX overflow counter for queue1 28 - ``FW_Q2_OVERFLOW``: TX overflow counter for queue2 29 - ``FW_Q3_OVERFLOW``: TX overflow counter for queue3 30 - ``FW_Q4_OVERFLOW``: TX overflow counter for queue4 31 - ``FW_Q5_OVERFLOW``: TX overflow counter for queue5 32 - ``FW_Q6_OVERFLOW``: TX overflow counter for queue6 33 - ``FW_Q7_OVERFLOW``: TX overflow counter for queue7 34 - ``FW_DROPPED_PKT``: This counter is incremented when a packet is dropped at PRU because of rule violation. 35 - ``FW_RX_ERROR``: Incremented if there was a CRC error or Min/Max frame error at PRU 36 - ``FW_RX_DS_INVALID``: Incremented when RTU detects Data Status invalid condition 37 - ``FW_TX_DROPPED_PACKET``: Counter for packets dropped via TX Port 38 - ``FW_TX_TS_DROPPED_PACKET``: Counter for packets with TS flag dropped via TX Port 39 - ``FW_INF_PORT_DISABLED``: Incremented when RX frame is dropped due to port being disabled 40 - ``FW_INF_SAV``: Incremented when RX frame is dropped due to Source Address violation 41 - ``FW_INF_SA_DL``: Incremented when RX frame is dropped due to Source Address being in the denylist 42 - ``FW_INF_PORT_BLOCKED``: Incremented when RX frame is dropped due to port being blocked and frame being a special frame 43 - ``FW_INF_DROP_TAGGED`` : Incremented when RX frame is dropped for being tagged 44 - ``FW_INF_DROP_PRIOTAGGED``: Incremented when RX frame is dropped for being priority tagged 45 - ``FW_INF_DROP_NOTAG``: Incremented when RX frame is dropped for being untagged 46 - ``FW_INF_DROP_NOTMEMBER``: Incremented when RX frame is dropped for port not being member of VLAN 47 - ``FW_RX_EOF_SHORT_FRMERR``: Incremented if End Of Frame (EOF) task is scheduled without seeing RX_B1 48 - ``FW_RX_B0_DROP_EARLY_EOF``: Incremented when frame is dropped due to Early EOF 49 - ``FW_TX_JUMBO_FRM_CUTOFF``: Incremented when frame is cut off to prevent packet size > 2000 Bytes 50 - ``FW_RX_EXP_FRAG_Q_DROP``: Incremented when express frame is received in the same queue as the previous fragment 51 - ``FW_RX_FIFO_OVERRUN``: RX fifo overrun counter 52 - ``FW_CUT_THR_PKT``: Incremented when a packet is forwarded using Cut-Through forwarding method 53 - ``FW_HOST_RX_PKT_CNT``: Number of valid packets sent by Rx PRU to Host on PSI 54 - ``FW_HOST_TX_PKT_CNT``: Number of valid packets copied by RTU0 to Tx queues 55 - ``FW_HOST_EGRESS_Q_PRE_OVERFLOW``: Host Egress Q (Pre-emptible) Overflow Counter 56 - ``FW_HOST_EGRESS_Q_EXP_OVERFLOW``: Host Egress Q (Pre-emptible) Overflow Counter 57