1 From 7e553c44f09a8f536090904c6db5b8c9dbafa03b Mon Sep 17 00:00:00 2001
2 From: Aleksander Jan Bajkowski <olek2@wp.pl>
3 Date: Tue, 26 Oct 2021 22:59:01 +0200
4 Subject: [PATCH] net: lantiq_xrx200: Hardcode the burst length value
6 All SoCs with this IP core support 8 burst length. Hauke
7 suggested to hardcode this value and simplify the driver.
9 Link: https://lkml.org/lkml/2021/9/14/1533
10 Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
11 Signed-off-by: David S. Miller <davem@davemloft.net>
13 drivers/net/ethernet/lantiq_xrx200.c | 21 ++++-----------------
14 1 file changed, 4 insertions(+), 17 deletions(-)
16 --- a/drivers/net/ethernet/lantiq_xrx200.c
17 +++ b/drivers/net/ethernet/lantiq_xrx200.c
19 #define XRX200_DMA_DATA_LEN 0x600
20 #define XRX200_DMA_RX 0
21 #define XRX200_DMA_TX 1
22 +#define XRX200_DMA_BURST_LEN 8
25 #define PMAC_RX_IPG 0x0024
26 @@ -71,9 +72,6 @@ struct xrx200_priv {
27 struct net_device *net_dev;
33 __iomem void *pmac_reg;
36 @@ -320,7 +318,7 @@ static netdev_tx_t xrx200_start_xmit(str
39 /* dma needs to start on a burst length value aligned address */
40 - byte_offset = mapping % (priv->tx_burst_len * 4);
41 + byte_offset = mapping % (XRX200_DMA_BURST_LEN * 4);
43 desc->addr = mapping - byte_offset;
44 /* Make sure the address is written before we give it to HW */
45 @@ -372,7 +370,8 @@ static int xrx200_dma_init(struct xrx200
49 - ltq_dma_init_port(DMA_PORT_ETOP, priv->tx_burst_len, rx_burst_len);
50 + ltq_dma_init_port(DMA_PORT_ETOP, XRX200_DMA_BURST_LEN,
51 + XRX200_DMA_BURST_LEN);
53 ch_rx->dma.nr = XRX200_DMA_RX;
54 ch_rx->dma.dev = priv->dev;
55 @@ -490,18 +489,6 @@ static int xrx200_probe(struct platform_
57 eth_hw_addr_random(net_dev);
59 - err = device_property_read_u32(dev, "lantiq,tx-burst-length", &priv->tx_burst_len);
61 - dev_err(dev, "unable to read tx-burst-length property\n");
65 - err = device_property_read_u32(dev, "lantiq,rx-burst-length", &priv->rx_burst_len);
67 - dev_err(dev, "unable to read rx-burst-length property\n");
71 /* bring up the dma engine and IP core */
72 err = xrx200_dma_init(priv);