[PATCH net v6 0/5] net: macb: various fixes

Théo Lebrun posted 5 patches 1 week, 1 day ago
.../devicetree/bindings/net/cdns,macb.yaml         |   2 +-
drivers/net/ethernet/cadence/macb.h                |   4 -
drivers/net/ethernet/cadence/macb_main.c           | 138 ++++++++++-----------
3 files changed, 69 insertions(+), 75 deletions(-)
[PATCH net v6 0/5] net: macb: various fixes
Posted by Théo Lebrun 1 week, 1 day ago
This would have been a RESEND if it wasn't for that oneline RCT fix.
Rebased and tested on the latest net/main as well, still working fine
on EyeQ5 hardware.

Fix a few disparate topics in MACB:

[PATCH net v6 1/5] dt-bindings: net: cdns,macb: allow tsu_clk without tx_clk
[PATCH net v6 2/5] net: macb: remove illusion about TBQPH/RBQPH being per-queue
[PATCH net v6 3/5] net: macb: move ring size computation to functions
[PATCH net v6 4/5] net: macb: single dma_alloc_coherent() for DMA descriptors
[PATCH net v6 5/5] net: macb: avoid dealing with endianness in macb_set_hwaddr()

Patch 3/5 is a rework that simplifies patch 4/5. It is the only non-fix.

Pending series on MACB are: (1) many cleanup patches, (2) patches for
EyeQ5 support and (3) XDP work. Those will be sent targeting
net-next/main once this series lands there, aiming to minimise merge
conflicts. Old version of(1) and (2) are visible in the V2 revision [0].

Thanks,
Have a nice day,
Théo

[0]: https://lore.kernel.org/lkml/20250627-macb-v2-0-ff8207d0bb77@bootlin.com/

Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
---
Changes in v6:
- RCT fix on top/bottom variables in macb_set_hwaddr().
- Link to v5: https://lore.kernel.org/r/20250910-macb-fixes-v5-0-f413a3601ce4@bootlin.com

Changes in v5:
- Fix hwaddr endianness patch following comment by Russell [2].
  [2]: https://lore.kernel.org/lkml/DCKQTNSCJD5Q.BKVVU59U0MU@bootlin.com/
- Take 4 Acked-by: Nicolas Ferre.
- Take Tested-by: Nicolas Ferre.
- Link to v4: https://lore.kernel.org/r/20250820-macb-fixes-v4-0-23c399429164@bootlin.com

Changes in v4:
- Drop 11 patches that are only cleanups. That includes the
  RBOF/skb_reserve() patch that, after discussion with Sean [1], has
  had its Fixes trailer dropped. "move ring size computation to
  functions" is the only non-fix patch that is kept, as it is depended
  upon by further patches. Dropped patches:
    dt-bindings: net: cdns,macb: sort compatibles
    net: macb: match skb_reserve(skb, NET_IP_ALIGN) with HW alignment
    net: macb: use BIT() macro for capability definitions
    net: macb: remove gap in MACB_CAPS_* flags
    net: macb: Remove local variables clk_init and init in macb_probe()
    net: macb: drop macb_config NULL checking
    net: macb: simplify macb_dma_desc_get_size()
    net: macb: simplify macb_adj_dma_desc_idx()
    net: macb: move bp->hw_dma_cap flags to bp->caps
    net: macb: introduce DMA descriptor helpers (is 64bit? is PTP?)
    net: macb: sort #includes
  [1]: https://lore.kernel.org/lkml/d4bead1c-697a-46d8-ba9c-64292fccb19f@linux.dev/
- Wrap code to 80 chars.
- Link to v3: https://lore.kernel.org/r/20250808-macb-fixes-v3-0-08f1fcb5179f@bootlin.com

Changes in v3:
- Cover letter: drop addresses that reject emails:
  cyrille.pitchen@atmel.com
  hskinnemoen@atmel.com
  jeff@garzik.org
  rafalo@cadence.com
- dt-bindings: Take 2x Reviewed-by Krzysztof.
- dt-bindings: add Fixes trailer to "allow tsu_clk without tx_clk"
  patch, to highlight we are not introducing new behavior.
- Reorder commits; move fixes first followed by cleanup patches.
- Drop all EyeQ5 related commits.
- New commit: "remove gap in MACB_CAPS_* flags".
- New commit: "move ring size computation to functions".
- New commit: "move bp->hw_dma_cap flags to bp->caps".
- Rename introduced helpers macb_dma_is_64b() to macb_dma64() and,
  macb_dma_is_ptp() to macb_dma_ptp().
- Rename MACB_CAPS_RSC_CAPABLE -> MACB_CAPS_RSC.
- Fix commit message typos: "maxime" -> "maximise", etc.
- Take 7x Reviewed-by: Sean Anderson.
- Add details to some commit messages.
- Link to v2: https://lore.kernel.org/r/20250627-macb-v2-0-ff8207d0bb77@bootlin.com

---
Théo Lebrun (5):
      dt-bindings: net: cdns,macb: allow tsu_clk without tx_clk
      net: macb: remove illusion about TBQPH/RBQPH being per-queue
      net: macb: move ring size computation to functions
      net: macb: single dma_alloc_coherent() for DMA descriptors
      net: macb: avoid dealing with endianness in macb_set_hwaddr()

 .../devicetree/bindings/net/cdns,macb.yaml         |   2 +-
 drivers/net/ethernet/cadence/macb.h                |   4 -
 drivers/net/ethernet/cadence/macb_main.c           | 138 ++++++++++-----------
 3 files changed, 69 insertions(+), 75 deletions(-)
---
base-commit: 3a5dc79698c028c922bdaa75274a967107e25f02
change-id: 20250808-macb-fixes-e2f570e11241

Best regards,
-- 
Théo Lebrun <theo.lebrun@bootlin.com>

Re: [PATCH net v6 0/5] net: macb: various fixes
Posted by Théo Lebrun 5 days, 16 hours ago
On Tue Sep 23, 2025 at 6:00 PM CEST, Théo Lebrun wrote:
> This would have been a RESEND if it wasn't for that oneline RCT fix.
> Rebased and tested on the latest net/main as well, still working fine
> on EyeQ5 hardware.
>
> Fix a few disparate topics in MACB:
>
> [PATCH net v6 1/5] dt-bindings: net: cdns,macb: allow tsu_clk without tx_clk
> [PATCH net v6 2/5] net: macb: remove illusion about TBQPH/RBQPH being per-queue
> [PATCH net v6 3/5] net: macb: move ring size computation to functions
> [PATCH net v6 4/5] net: macb: single dma_alloc_coherent() for DMA descriptors
> [PATCH net v6 5/5] net: macb: avoid dealing with endianness in macb_set_hwaddr()

What's the state of maintainers minds for this series? It has been
stable for some time, tested on sam9x75 (by Nicolas Ferre) & EyeQ5
and Simon Horman has added his reviewed-by this morning (thanks!).
But of course I am biased.

I am asking because merging would benefit my pending series.

Thanks,

--
Théo Lebrun, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Re: [PATCH net v6 0/5] net: macb: various fixes
Posted by Jakub Kicinski 5 days, 4 hours ago
On Fri, 26 Sep 2025 09:56:25 +0200 Théo Lebrun wrote:
> On Tue Sep 23, 2025 at 6:00 PM CEST, Théo Lebrun wrote:
> > This would have been a RESEND if it wasn't for that oneline RCT fix.
> > Rebased and tested on the latest net/main as well, still working fine
> > on EyeQ5 hardware.
> >
> > Fix a few disparate topics in MACB:
> >
> > [PATCH net v6 1/5] dt-bindings: net: cdns,macb: allow tsu_clk without tx_clk
> > [PATCH net v6 2/5] net: macb: remove illusion about TBQPH/RBQPH being per-queue
> > [PATCH net v6 3/5] net: macb: move ring size computation to functions
> > [PATCH net v6 4/5] net: macb: single dma_alloc_coherent() for DMA descriptors
> > [PATCH net v6 5/5] net: macb: avoid dealing with endianness in macb_set_hwaddr()  
> 
> What's the state of maintainers minds for this series? It has been
> stable for some time, tested on sam9x75 (by Nicolas Ferre) & EyeQ5
> and Simon Horman has added his reviewed-by this morning (thanks!).
> But of course I am biased.

We'll get to it.. having the revisions a few days apart rather than 
a few weeks apart helps maintainers remember the details, and generally
leads to lower wait times. FWIW.

> I am asking because merging would benefit my pending series.

Sorry, if the merge window opens on Sunday there's no chance of
making progress on your pending series.
Re: [PATCH net v6 0/5] net: macb: various fixes
Posted by Jakub Kicinski 4 days, 23 hours ago
On Tue, 23 Sep 2025 18:00:22 +0200 Théo Lebrun wrote:
> Pending series on MACB are: (1) many cleanup patches, (2) patches for
> EyeQ5 support and (3) XDP work. Those will be sent targeting
> net-next/main once this series lands there, aiming to minimise merge
> conflicts. Old version of(1) and (2) are visible in the V2 revision [0].

Slightly worried this will regress some platforms with less memory.
I suppose this device is mostly used on systems with <4GB of DRAM
so the upper 32b register thing doesn't matter at all. But less DRAM
the more problematic it may be to perform the large allocations.

I guess we'll find out..