Re: [PATCH 00/12] Enable networking support for StarFive JH7100 SoC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Conor,

On 2/11/23 13:11, Conor Dooley wrote:
Hey Cristian!

+CC Arnd, Prabhakar

On Sat, Feb 11, 2023 at 05:18:09AM +0200, Cristian Ciocaltea wrote:
This patch series adds ethernet support for the StarFive JH7100 SoC and
makes it available for the StarFive VisionFive V1 and BeagleV Starlight
boards, although I could only validate on the former SBC.

The work is heavily based on the reference implementation [1] and requires
the non-coherent DMA support provided by Emil via the Sifive Composable
Cache controller.

Also note there is an overlap in "[PATCH 08/12] net: stmmac: Add glue layer
for StarFive JH7100 SoC" with the Yanhong Wang's upstreaming attempt [2]:
"[PATCH v4 5/7] net: stmmac: Add glue layer for StarFive JH7110 SoCs".

Since I cannot test the JH7110 SoC, I dropped the support for it from Emil's
variant of the stmmac glue layer. Hence, we might need a bit of coordination
in order to get this properly merged.

To be honest, that one is the least of your worries sequencing wise.
Anything doing non-coherent DMA on RISC-V that doesn't use instructions is
dependant on Prabhakar's series:
https://lore.kernel.org/linux-riscv/20230106185526.260163-1-prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx/#t
That's kinda stalled out though, waiting on Arnd to make some changes to
the cross-arch DMA code:
https://lore.kernel.org/linux-riscv/ea4cb121-97e9-4365-861a-b3635fd34721@xxxxxxxxxxxxxxxx/

Thank you for pointing this out, I wasn't aware of it!

I was talking to Emil about the non-coherent support at FOSDEM actually,
and I see no real reason not to bring the JH7100 non-coherent support in
if we are doing it for other SoCs.

So yeah, hopefully we shall get there at some point soonTM...

That would be great, I'll try to monitor the progress and re-spin the series as soon as the non-coherent support is figured out.

Regards,
Cristian

Sorry,
Conor.

[1] https://github.com/starfive-tech/linux/commits/visionfive
[2] https://lore.kernel.org/linux-riscv/20230118061701.30047-6-yanhong.wang@xxxxxxxxxxxxxxxx/

Cristian Ciocaltea (7):
   dt-bindings: riscv: sifive-ccache: Add compatible for StarFive JH7100
     SoC
   dt-bindings: riscv: sifive-ccache: Add 'uncached-offset' property
   dt-bindings: net: Add StarFive JH7100 SoC
   riscv: dts: starfive: Add dma-noncoherent for JH7100 SoC
   riscv: dts: starfive: jh7100: Add ccache DT node
   riscv: dts: starfive: jh7100: Add sysmain and gmac DT nodes
   riscv: dts: starfive: jh7100-common: Setup pinmux and enable gmac

Emil Renner Berthing (5):
   soc: sifive: ccache: Add StarFive JH7100 support
   soc: sifive: ccache: Add non-coherent DMA handling
   riscv: Implement non-coherent DMA support via SiFive cache flushing
   dt-bindings: mfd: syscon: Add StarFive JH7100 sysmain compatible
   net: stmmac: Add glue layer for StarFive JH7100 SoC

  .../devicetree/bindings/mfd/syscon.yaml       |   1 +
  .../devicetree/bindings/net/snps,dwmac.yaml   |  15 +-
  .../bindings/net/starfive,jh7100-dwmac.yaml   | 106 ++++++++++++
  .../bindings/riscv/sifive,ccache0.yaml        |  33 +++-
  MAINTAINERS                                   |   6 +
  arch/riscv/Kconfig                            |   6 +-
  .../boot/dts/starfive/jh7100-common.dtsi      |  78 +++++++++
  arch/riscv/boot/dts/starfive/jh7100.dtsi      |  55 +++++++
  arch/riscv/mm/dma-noncoherent.c               |  37 ++++-
  drivers/net/ethernet/stmicro/stmmac/Kconfig   |  12 ++
  drivers/net/ethernet/stmicro/stmmac/Makefile  |   1 +
  .../ethernet/stmicro/stmmac/dwmac-starfive.c  | 155 ++++++++++++++++++
  drivers/soc/sifive/Kconfig                    |   1 +
  drivers/soc/sifive/sifive_ccache.c            |  71 +++++++-
  include/soc/sifive/sifive_ccache.h            |  21 +++
  15 files changed, 587 insertions(+), 11 deletions(-)
  create mode 100644 Documentation/devicetree/bindings/net/starfive,jh7100-dwmac.yaml
  create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac-starfive.c

--
2.39.1




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux