]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commitce685ff8fd6188f77f2c1c745f223fd59a18df2c
tree9cb29db72edc7b951f49a2f8136ba202a887f939
parent42c7443d18f9484d9b4dbf622f57c93944656783
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