]> git.baikalelectronics.ru Git - kernel.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)
committerDavid S. Miller <davem@davemloft.net>
Sun, 14 Mar 2021 02:08:05 +0000 (18:08 -0800)
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>
drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c

index bf3250e0e59ca57a8b8d2b4058f12b9f0594dfb5..749585fe6fc96aa2eae4a912e53390c6d16ae775 100644 (file)
@@ -352,6 +352,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)