SPRUIU1C July 2020 – February 2024 DRA821U , DRA821U-Q1
The destination based rule is the primary rule for PFC and should be configured when PFC is enabled. The rule is evaluated for PFC trigger when the destination ports are determined on address lookup at packet reception (bottom of receive FIFO). The conditions of all packet destination port transmit FIFO’s at packet reception determine whether or not one or more receive port priorities will be triggered. Each packet destination port is evaluated for each priority and the results are combined to produce the priority flow control trigger(s) on the receive port. A priority trigger is cleared at any time the clear condition is satisfied for that priority on all destination port FIFO’s (all transmit FIFO’s that set the trigger). The intent of the rule is to progressively trigger receive PFC with decreasing priority as the FIFO allocated blocks (CPSW_PN_BLK_CNT_REG_k[12-8] TX_BLK_CNT) increases, and have the effect of priority outflow increase with decreasing priority. The add amount for outflow is zero if the outflow is not set and CPSW_PN_TX_D_OFLOW_ADDVAL_L_REG_k/ CPSW_PN_TX_D_OFLOW_ADDVAL_H_REG_k if the outflow is set for a particular priority.
A PFC priority is triggered by conditions in any destination transmit FIFO by the below equation at packet reception:
priX_trig_set=((addvalX[4:0]&{5{tx_d_trig_setX}})+ pn_tx_blk_cnt[4:0]) >= tx_d_thresh_setX[4:0]
A PFC priority is cleared by conditions in all destination transmit FIFO’s by the below equation at any time after the set has occurred:
priX_trig_clr=((addvalX[4:0] & {5{tx_d_trig_setX}}) + pn_tx_blk_cnt[4:0]) <= tx_d_thresh_clrX[4:0]
Where,