]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
net: stmmac: Set FIFO sizes for ipq806x
authorJonathan McDowell <noodles@earth.li>
Sat, 13 Mar 2021 13:18:26 +0000 (13:18 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 19 May 2021 08:08:20 +0000 (10:08 +0200)
[ Upstream commit e127906b68b49ddb3ecba39ffa36a329c48197d3 ]

Commit eaf4fac47807 ("net: stmmac: Do not accept invalid MTU values")
started using the TX FIFO size to verify what counts as a valid MTU
request for the stmmac driver.  This is unset for the ipq806x variant.
Looking at older patches for this it seems the RX + TXs buffers can be
up to 8k, so set appropriately.

(I sent this as an RFC patch in June last year, but received no replies.
I've been running with this on my hardware (a MikroTik RB3011) since
then with larger MTUs to support both the internal qca8k switch and
VLANs with no problems. Without the patch it's impossible to set the
larger MTU required to support this.)

Signed-off-by: Jonathan McDowell <noodles@earth.li>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c

index 826626e870d5cdbb10c42cf28b1ea5f4001772ef..0f56f8e336917a8ed7158aa09b0cd27217ffff60 100644 (file)
@@ -351,6 +351,8 @@ static int ipq806x_gmac_probe(struct platform_device *pdev)
        plat_dat->bsp_priv = gmac;
        plat_dat->fix_mac_speed = ipq806x_gmac_fix_mac_speed;
        plat_dat->multicast_filter_bins = 0;
+       plat_dat->tx_fifo_size = 8192;
+       plat_dat->rx_fifo_size = 8192;
 
        err = stmmac_dvr_probe(&pdev->dev, plat_dat, &stmmac_res);
        if (err)