forked from Minki/linux
amd-xgbe: Use proper Rx flow control register
Updated hardware documention shows the Rx flow control settings were moved from the Rx queue operation mode register to a new Rx queue flow control register. The old flow control settings are now reserved areas of the Rx queue operation mode register. Update the code to use the new register. Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
06efe0e540
commit
e2a2729a92
@ -767,16 +767,17 @@
|
||||
#define MTL_Q_RQOMR 0x40
|
||||
#define MTL_Q_RQMPOCR 0x44
|
||||
#define MTL_Q_RQDR 0x4c
|
||||
#define MTL_Q_RQFCR 0x50
|
||||
#define MTL_Q_IER 0x70
|
||||
#define MTL_Q_ISR 0x74
|
||||
|
||||
/* MTL queue register entry bit positions and sizes */
|
||||
#define MTL_Q_RQFCR_RFA_INDEX 1
|
||||
#define MTL_Q_RQFCR_RFA_WIDTH 6
|
||||
#define MTL_Q_RQFCR_RFD_INDEX 17
|
||||
#define MTL_Q_RQFCR_RFD_WIDTH 6
|
||||
#define MTL_Q_RQOMR_EHFC_INDEX 7
|
||||
#define MTL_Q_RQOMR_EHFC_WIDTH 1
|
||||
#define MTL_Q_RQOMR_RFA_INDEX 8
|
||||
#define MTL_Q_RQOMR_RFA_WIDTH 3
|
||||
#define MTL_Q_RQOMR_RFD_INDEX 13
|
||||
#define MTL_Q_RQOMR_RFD_WIDTH 3
|
||||
#define MTL_Q_RQOMR_RQS_INDEX 16
|
||||
#define MTL_Q_RQOMR_RQS_WIDTH 9
|
||||
#define MTL_Q_RQOMR_RSF_INDEX 5
|
||||
|
@ -2079,10 +2079,10 @@ static void xgbe_config_flow_control_threshold(struct xgbe_prv_data *pdata)
|
||||
|
||||
for (i = 0; i < pdata->rx_q_count; i++) {
|
||||
/* Activate flow control when less than 4k left in fifo */
|
||||
XGMAC_MTL_IOWRITE_BITS(pdata, i, MTL_Q_RQOMR, RFA, 2);
|
||||
XGMAC_MTL_IOWRITE_BITS(pdata, i, MTL_Q_RQFCR, RFA, 2);
|
||||
|
||||
/* De-activate flow control when more than 6k left in fifo */
|
||||
XGMAC_MTL_IOWRITE_BITS(pdata, i, MTL_Q_RQOMR, RFD, 4);
|
||||
XGMAC_MTL_IOWRITE_BITS(pdata, i, MTL_Q_RQFCR, RFD, 4);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user