net: ethernet: ti: cpsw: adjust cpsw fifos depth for fullduplex flow control
authorGrygorii Strashko <grygorii.strashko@ti.com>
Mon, 8 May 2017 19:21:21 +0000 (14:21 -0500)
committerDavid S. Miller <davem@davemloft.net>
Mon, 8 May 2017 21:33:19 +0000 (17:33 -0400)
commit48f5bccc60675f8426a6159935e8636a1fd89f56
tree9cb29db72edc7b951f49a2f8136ba202a887f939
parent242d3a49a2a1a71d8eb9f953db1bcaa9d698ce00
net: ethernet: ti: cpsw: adjust cpsw fifos depth for fullduplex flow control

When users set flow control using ethtool the bits are set properly in the
CPGMAC_SL MACCONTROL register, but the FIFO depth in the respective Port n
Maximum FIFO Blocks (Pn_MAX_BLKS) registers remains set to the minimum size
reset value. When receive flow control is enabled on a port, the port's
associated FIFO block allocation must be adjusted. The port RX allocation
must increase to accommodate the flow control runout. The TRM recommends
numbers of 5 or 6.

Hence, apply required Port FIFO configuration to
Pn_MAX_BLKS.Pn_TX_MAX_BLKS=0xF and Pn_MAX_BLKS.Pn_RX_MAX_BLKS=0x5 during
interface initialization.

Cc: Schuyler Patton <spatton@ti.com>
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ti/cpsw.c