0711-v5.16-net-lantiq_xrx200-Hardcode-the-burst-length-value.patch 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. From 7e553c44f09a8f536090904c6db5b8c9dbafa03b Mon Sep 17 00:00:00 2001
  2. From: Aleksander Jan Bajkowski <[email protected]>
  3. Date: Tue, 26 Oct 2021 22:59:01 +0200
  4. Subject: [PATCH] net: lantiq_xrx200: Hardcode the burst length value
  5. All SoCs with this IP core support 8 burst length. Hauke
  6. suggested to hardcode this value and simplify the driver.
  7. Link: https://lkml.org/lkml/2021/9/14/1533
  8. Signed-off-by: Aleksander Jan Bajkowski <[email protected]>
  9. Signed-off-by: David S. Miller <[email protected]>
  10. ---
  11. drivers/net/ethernet/lantiq_xrx200.c | 21 ++++-----------------
  12. 1 file changed, 4 insertions(+), 17 deletions(-)
  13. --- a/drivers/net/ethernet/lantiq_xrx200.c
  14. +++ b/drivers/net/ethernet/lantiq_xrx200.c
  15. @@ -25,6 +25,7 @@
  16. #define XRX200_DMA_DATA_LEN (SZ_64K - 1)
  17. #define XRX200_DMA_RX 0
  18. #define XRX200_DMA_TX 1
  19. +#define XRX200_DMA_BURST_LEN 8
  20. #define XRX200_DMA_PACKET_COMPLETE 0
  21. #define XRX200_DMA_PACKET_IN_PROGRESS 1
  22. @@ -81,9 +82,6 @@ struct xrx200_priv {
  23. struct net_device *net_dev;
  24. struct device *dev;
  25. - int tx_burst_len;
  26. - int rx_burst_len;
  27. -
  28. __iomem void *pmac_reg;
  29. };
  30. @@ -367,7 +365,7 @@ static netdev_tx_t xrx200_start_xmit(str
  31. goto err_drop;
  32. /* dma needs to start on a burst length value aligned address */
  33. - byte_offset = mapping % (priv->tx_burst_len * 4);
  34. + byte_offset = mapping % (XRX200_DMA_BURST_LEN * 4);
  35. desc->addr = mapping - byte_offset;
  36. /* Make sure the address is written before we give it to HW */
  37. @@ -468,7 +466,8 @@ static int xrx200_dma_init(struct xrx200
  38. int ret = 0;
  39. int i;
  40. - ltq_dma_init_port(DMA_PORT_ETOP, priv->tx_burst_len, rx_burst_len);
  41. + ltq_dma_init_port(DMA_PORT_ETOP, XRX200_DMA_BURST_LEN,
  42. + XRX200_DMA_BURST_LEN);
  43. ch_rx->dma.nr = XRX200_DMA_RX;
  44. ch_rx->dma.dev = priv->dev;
  45. @@ -578,18 +577,6 @@ static int xrx200_probe(struct platform_
  46. if (err)
  47. eth_hw_addr_random(net_dev);
  48. - err = device_property_read_u32(dev, "lantiq,tx-burst-length", &priv->tx_burst_len);
  49. - if (err < 0) {
  50. - dev_err(dev, "unable to read tx-burst-length property\n");
  51. - return err;
  52. - }
  53. -
  54. - err = device_property_read_u32(dev, "lantiq,rx-burst-length", &priv->rx_burst_len);
  55. - if (err < 0) {
  56. - dev_err(dev, "unable to read rx-burst-length property\n");
  57. - return err;
  58. - }
  59. -
  60. /* bring up the dma engine and IP core */
  61. err = xrx200_dma_init(priv);
  62. if (err)