[U-Boot] [PATCH v11 00/28] bmips: add iudma/enet support

Daniel Schwierzeck daniel.schwierzeck at gmail.com
Mon Dec 10 15:36:24 UTC 2018



Am 01.12.18 um 19:00 schrieb Álvaro Fernández Rojas:
> In order to add bcm6348-enet support, dma-uclass must be extended to support
> dma channels and reworked to operate like the other dm uclass (clk, reset...).
> 
> v11: Introduce change suggested by Daniel Schwierzeck:
>  - Avoid trimming ethernet FCS from DMA driver.
> v10: Introduce changes suggested by Daniel Schwierzeck:
>  - Fix license identifiers.
>  bcm6348-iudma:
>   - Move DMAD_ST defines out of dma desc struct definition.
>   - Remove unneded aigned attribute from dma desc struct definition.
>   - Fill dma ring from consumer driver instead of allocating a new buffer.
>   - Correctly check clock/reset errors while probing.
>   - Switch to live DM live tree.
>  bcm6348-enet:
>   - Remove packet queue.
>   - Move dma_prepare_rcv_buf to free_pkt.
>   - Switch to live DM live tree.
>  bcm6368-enet:
>   - Remove packet queue.
>   - Move dma_prepare_rcv_buf to free_pkt.
>   - Pad packets smaller than ETH_ZLEN.
>   - Switch to live DM live tree.
> v9: Separate generic dma channels support from bmips enet support
>  bcm6348-iudma:
>   - bcm6348_iudma_chan_stop: switch to mdelay when resetting channel.
>   - bcm6348_iudma_receive: track dirty dma descriptors and no longer trigger
>    dma rx channel.
>   - bcm6348_iudma_send: reorder to properly flush cache and set dma descriptor
>    config.
>   - bcm6348_iudma_prepare_rcv_buf: implemented to clear dirty dma descriptors.
>  bcm6348-enet:
>   - bcm6348_eth_recv: clear dirty dma descriptors only when packets are copied
>    from rx dma.
>   - bcm6348_eth_send: remove dma rx channel reset when sending packet.
>  bcm6368-enet:
>   - introduce rx packets caching functionality from bcm6348-eth to fix flow
>    control issues.
>   - code style fixes.
> v8: Introduce bcm6368-enet driver support.
> v5: Fix issues reported by Grygorii Strashko and other fixes:
>  - Remove unused bcm6348-iudma defines.
>  - Increment bcm6348-iudma rx descriptors.
>  - Fix bcm6348-iudma flow control issues.
>  - bcm6348-iudma error checking now depends on hw.
>  - Remove unneeded bcm6348-iudma interrupts.
>  - Receive as much packets as possible from bcm6348-eth and cache them in
>  net_rx_packets. This is needed in order to fix flow control issues.
> v4: Fix issues reported by Grygorii Strashko and other fixes:
>  - Remove usage of net_rx_packets as buffer from bcm6348-iudma.
>  - Allocate dynamic rx buffer on bcm6348-iudma.
>  - Copy received dma buffer to net_rx_packets in order to avoid possible
>  dma overwrites.
>  - Check dma errors and discard invalid packets.
>  - Reset dma rx channel when sending a new packet to prevent flow control
>  issues.
>  - Fix packet casting on bcm6348_eth_recv/send.
> v3: Switch to live tree API.
> v2: Fix bcm6348-iudma rx burst config.
> 
> Álvaro Fernández Rojas (28):
>   dma: add bcm6348-iudma support
>   bmips: bcm6338: add bcm6348-iudma support
>   bmips: bcm6348: add bcm6348-iudma support
>   bmips: bcm6358: add bcm6348-iudma support
>   bmips: bcm6368: add bcm6348-iudma support
>   bmips: bcm6328: add bcm6348-iudma support
>   bmips: bcm6362: add bcm6348-iudma support
>   bmips: bcm63268: add bcm6348-iudma support
>   bmips: bcm6318: add bcm6348-iudma support
>   net: add support for bcm6348-enet
>   bmips: bcm6338: add support for bcm6348-enet
>   bmips: enable f at st1704 enet support
>   bmips: bcm6348: add support for bcm6348-enet
>   bmips: enable ct-5361 enet support
>   bmips: bcm6358: add support for bcm6348-enet
>   bmips: enable hg556a enet support
>   bmips: enable nb4-ser enet support
>   net: add support for bcm6368-enet
>   bmips: bcm6368: add support for bcm6368-enet
>   bmips: enable wap-5813n enet support
>   bmips: bcm6328: add support for bcm6368-enet
>   bmips: enable ar-5387un enet support
>   bmips: bcm6362: add support for bcm6368-enet
>   bmips: enable dgnd3700v2 enet support
>   bmips: bcm63268: add support for bcm6368-enet
>   bmips: enable vr-3032u enet support
>   bmips: bcm6318: add support for bcm6368-enet
>   bmips: enable ar-5315u enet support
> 
>  arch/mips/dts/brcm,bcm6318.dtsi           |  38 ++
>  arch/mips/dts/brcm,bcm63268.dtsi          |  38 ++
>  arch/mips/dts/brcm,bcm6328.dtsi           |  30 ++
>  arch/mips/dts/brcm,bcm6338.dtsi           |  29 ++
>  arch/mips/dts/brcm,bcm6348.dtsi           |  42 ++
>  arch/mips/dts/brcm,bcm6358.dtsi           |  46 +++
>  arch/mips/dts/brcm,bcm6362.dtsi           |  32 ++
>  arch/mips/dts/brcm,bcm6368.dtsi           |  32 ++
>  arch/mips/dts/comtrend,ar-5315u.dts       |  32 ++
>  arch/mips/dts/comtrend,ar-5387un.dts      |  32 ++
>  arch/mips/dts/comtrend,ct-5361.dts        |  12 +
>  arch/mips/dts/comtrend,vr-3032u.dts       |  32 ++
>  arch/mips/dts/comtrend,wap-5813n.dts      |  14 +
>  arch/mips/dts/huawei,hg556a.dts           |  12 +
>  arch/mips/dts/netgear,dgnd3700v2.dts      |  14 +
>  arch/mips/dts/sagem,f at st1704.dts          |  12 +
>  arch/mips/dts/sfr,nb4-ser.dts             |  24 ++
>  configs/comtrend_ar5315u_ram_defconfig    |   7 +-
>  configs/comtrend_ar5387un_ram_defconfig   |   7 +-
>  configs/comtrend_ct5361_ram_defconfig     |   8 +-
>  configs/comtrend_vr3032u_ram_defconfig    |   7 +-
>  configs/comtrend_wap5813n_ram_defconfig   |   8 +-
>  configs/huawei_hg556a_ram_defconfig       |   8 +-
>  configs/netgear_dgnd3700v2_ram_defconfig  |   8 +-
>  configs/sagem_f at st1704_ram_defconfig      |   8 +-
>  configs/sfr_nb4-ser_ram_defconfig         |   8 +-
>  drivers/dma/Kconfig                       |   9 +
>  drivers/dma/Makefile                      |   1 +
>  drivers/dma/bcm6348-iudma.c               | 642 ++++++++++++++++++++++++++++++
>  drivers/net/Kconfig                       |  18 +
>  drivers/net/Makefile                      |   2 +
>  drivers/net/bcm6348-eth.c                 | 537 +++++++++++++++++++++++++
>  drivers/net/bcm6368-eth.c                 | 625 +++++++++++++++++++++++++++++
>  include/configs/bmips_common.h            |   6 +-
>  include/dt-bindings/clock/bcm6318-clock.h |  11 +
>  include/dt-bindings/dma/bcm6318-dma.h     |  14 +
>  include/dt-bindings/dma/bcm63268-dma.h    |  14 +
>  include/dt-bindings/dma/bcm6328-dma.h     |  14 +
>  include/dt-bindings/dma/bcm6338-dma.h     |  14 +
>  include/dt-bindings/dma/bcm6348-dma.h     |  16 +
>  include/dt-bindings/dma/bcm6358-dma.h     |  16 +
>  include/dt-bindings/dma/bcm6362-dma.h     |  14 +
>  include/dt-bindings/dma/bcm6368-dma.h     |  14 +
>  43 files changed, 2497 insertions(+), 10 deletions(-)
>  create mode 100644 drivers/dma/bcm6348-iudma.c
>  create mode 100644 drivers/net/bcm6348-eth.c
>  create mode 100644 drivers/net/bcm6368-eth.c
>  create mode 100644 include/dt-bindings/dma/bcm6318-dma.h
>  create mode 100644 include/dt-bindings/dma/bcm63268-dma.h
>  create mode 100644 include/dt-bindings/dma/bcm6328-dma.h
>  create mode 100644 include/dt-bindings/dma/bcm6338-dma.h
>  create mode 100644 include/dt-bindings/dma/bcm6348-dma.h
>  create mode 100644 include/dt-bindings/dma/bcm6358-dma.h
>  create mode 100644 include/dt-bindings/dma/bcm6362-dma.h
>  create mode 100644 include/dt-bindings/dma/bcm6368-dma.h
> 

series applied to u-boot-mips/next, thanks.

Could you send a patch to fix this DTC warning?

w+arch/mips/dts/brcm,bcm968380gerg.dtb: Warning (avoid_unnecessary_addr_size): /clocks: unnecessary #address-cells/#size-cells without "ranges" or child "reg" property

-- 
- Daniel


More information about the U-Boot mailing list