mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-21 22:47:56 +00:00
d374e0346e
0001-MIPS-lantiq-add-pcie-driver.patch needs to drop MODULE_SUPPORTED_DEVICE because that macro is gone on newer kernels. Add checks for copy_{to,from}_user in 0008-MIPS-lantiq-backport-old-timer-code.patch which is now mandatory. 0705-v5.13-net-dsa-lantiq-allow-to-use-all-GPHYs-on-xRX300-and-.patch get dropped because it's a backport from Linux 5.13. All other patches are refreshed. Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
74 lines
2.3 KiB
Diff
74 lines
2.3 KiB
Diff
From 7e553c44f09a8f536090904c6db5b8c9dbafa03b Mon Sep 17 00:00:00 2001
|
|
From: Aleksander Jan Bajkowski <olek2@wp.pl>
|
|
Date: Tue, 26 Oct 2021 22:59:01 +0200
|
|
Subject: [PATCH] net: lantiq_xrx200: Hardcode the burst length value
|
|
|
|
All SoCs with this IP core support 8 burst length. Hauke
|
|
suggested to hardcode this value and simplify the driver.
|
|
|
|
Link: https://lkml.org/lkml/2021/9/14/1533
|
|
Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
|
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
---
|
|
drivers/net/ethernet/lantiq_xrx200.c | 21 ++++-----------------
|
|
1 file changed, 4 insertions(+), 17 deletions(-)
|
|
|
|
--- a/drivers/net/ethernet/lantiq_xrx200.c
|
|
+++ b/drivers/net/ethernet/lantiq_xrx200.c
|
|
@@ -25,6 +25,7 @@
|
|
#define XRX200_DMA_DATA_LEN (SZ_64K - 1)
|
|
#define XRX200_DMA_RX 0
|
|
#define XRX200_DMA_TX 1
|
|
+#define XRX200_DMA_BURST_LEN 8
|
|
|
|
#define XRX200_DMA_PACKET_COMPLETE 0
|
|
#define XRX200_DMA_PACKET_IN_PROGRESS 1
|
|
@@ -81,9 +82,6 @@ struct xrx200_priv {
|
|
struct net_device *net_dev;
|
|
struct device *dev;
|
|
|
|
- int tx_burst_len;
|
|
- int rx_burst_len;
|
|
-
|
|
__iomem void *pmac_reg;
|
|
};
|
|
|
|
@@ -367,7 +365,7 @@ static netdev_tx_t xrx200_start_xmit(str
|
|
goto err_drop;
|
|
|
|
/* dma needs to start on a burst length value aligned address */
|
|
- byte_offset = mapping % (priv->tx_burst_len * 4);
|
|
+ byte_offset = mapping % (XRX200_DMA_BURST_LEN * 4);
|
|
|
|
desc->addr = mapping - byte_offset;
|
|
/* Make sure the address is written before we give it to HW */
|
|
@@ -468,7 +466,8 @@ static int xrx200_dma_init(struct xrx200
|
|
int ret = 0;
|
|
int i;
|
|
|
|
- ltq_dma_init_port(DMA_PORT_ETOP, priv->tx_burst_len, rx_burst_len);
|
|
+ ltq_dma_init_port(DMA_PORT_ETOP, XRX200_DMA_BURST_LEN,
|
|
+ XRX200_DMA_BURST_LEN);
|
|
|
|
ch_rx->dma.nr = XRX200_DMA_RX;
|
|
ch_rx->dma.dev = priv->dev;
|
|
@@ -578,18 +577,6 @@ static int xrx200_probe(struct platform_
|
|
if (err)
|
|
eth_hw_addr_random(net_dev);
|
|
|
|
- err = device_property_read_u32(dev, "lantiq,tx-burst-length", &priv->tx_burst_len);
|
|
- if (err < 0) {
|
|
- dev_err(dev, "unable to read tx-burst-length property\n");
|
|
- return err;
|
|
- }
|
|
-
|
|
- err = device_property_read_u32(dev, "lantiq,rx-burst-length", &priv->rx_burst_len);
|
|
- if (err < 0) {
|
|
- dev_err(dev, "unable to read rx-burst-length property\n");
|
|
- return err;
|
|
- }
|
|
-
|
|
/* bring up the dma engine and IP core */
|
|
err = xrx200_dma_init(priv);
|
|
if (err)
|