[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMdnO-+JBk9X66rzPqWL+1Bf_0kyqnMN9+ikaTp65CfzVmps=g@mail.gmail.com>
Date: Fri, 2 Aug 2024 14:45:50 -0700
From: Jitendra Vegiraju <jitendra.vegiraju@...adcom.com>
To: Simon Horman <horms@...nel.org>
Cc: netdev@...r.kernel.org, alexandre.torgue@...s.st.com, joabreu@...opsys.com,
davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org, pabeni@...hat.com,
mcoquelin.stm32@...il.com, bcm-kernel-feedback-list@...adcom.com,
richardcochran@...il.com, ast@...nel.org, daniel@...earbox.net,
hawk@...nel.org, john.fastabend@...il.com, linux-kernel@...r.kernel.org,
linux-stm32@...md-mailman.stormreply.com,
linux-arm-kernel@...ts.infradead.org, bpf@...r.kernel.org, andrew@...n.ch,
linux@...linux.org.uk, florian.fainelli@...adcom.com
Subject: Re: [PATCH net-next v3 1/3] net: stmmac: Add basic dwxgmac4 support
to stmmac core
On Fri, Aug 2, 2024 at 7:38 AM Simon Horman <horms@...nel.org> wrote:
>
> On Thu, Aug 01, 2024 at 08:18:20PM -0700, jitendra.vegiraju@...adcom.com wrote:
> > From: Jitendra Vegiraju <jitendra.vegiraju@...adcom.com>
> >
> > Adds support for DWC_xgmac version 4.00a in stmmac core module.
> > This version adds enhancements to DMA architecture for virtualization
> > scalability. This is realized by decoupling physical DMA channels (PDMA)
> > from Virtual DMA channels (VDMA). The VDMAs are software abastractions
> > that map to PDMAs for frame transmission and reception.
> >
> > The virtualization enhancements are currently not being used and hence
> > a fixed mapping of VDMA to PDMA is configured in the init functions.
> > Because of the new init functions, a new instance of struct stmmac_dma_ops
> > dwxgmac400_dma_ops is added.
> > Most of the other dma operation functions in existing dwxgamc2_dma.c file
> > can be reused.
> >
> > Signed-off-by: Jitendra Vegiraju <jitendra.vegiraju@...adcom.com>
>
> ...
>
> > stmmac-$(CONFIG_STMMAC_SELFTESTS) += stmmac_selftests.o
> > diff --git a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c
>
> ...
>
> > @@ -641,3 +642,33 @@ const struct stmmac_dma_ops dwxgmac210_dma_ops = {
> > .enable_sph = dwxgmac2_enable_sph,
> > .enable_tbs = dwxgmac2_enable_tbs,
> > };
> > +
> > +const struct stmmac_dma_ops dwxgmac400_dma_ops = {
> > + .reset = dwxgmac2_dma_reset,
> > + .init = dwxgmac4_dma_init,
> > + .init_chan = dwxgmac2_dma_init_chan,
> > + .init_rx_chan = dwxgmac4_dma_init_rx_chan,
> > + .init_tx_chan = dwxgmac4_dma_init_tx_chan,
> > + .axi = dwxgmac2_dma_axi,
> > + .dump_regs = dwxgmac2_dma_dump_regs,
> > + .dma_rx_mode = dwxgmac2_dma_rx_mode,
> > + .dma_tx_mode = dwxgmac2_dma_tx_mode,
> > + .enable_dma_irq = dwxgmac2_enable_dma_irq,
> > + .disable_dma_irq = dwxgmac2_disable_dma_irq,
> > + .start_tx = dwxgmac2_dma_start_tx,
> > + .stop_tx = dwxgmac2_dma_stop_tx,
> > + .start_rx = dwxgmac2_dma_start_rx,
> > + .stop_rx = dwxgmac2_dma_stop_rx,
> > + .dma_interrupt = dwxgmac2_dma_interrupt,
> > + .get_hw_feature = dwxgmac2_get_hw_feature,
> > + .rx_watchdog = dwxgmac2_rx_watchdog,
> > + .set_rx_ring_len = dwxgmac2_set_rx_ring_len,
> > + .set_tx_ring_len = dwxgmac2_set_tx_ring_len,
> > + .set_rx_tail_ptr = dwxgmac2_set_rx_tail_ptr,
> > + .set_tx_tail_ptr = dwxgmac2_set_tx_tail_ptr,
> > + .enable_tso = dwxgmac2_enable_tso,
> > + .qmode = dwxgmac2_qmode,
> > + .set_bfsize = dwxgmac2_set_bfsize,
> > + .enable_sph = dwxgmac2_enable_sph,
> > + .enable_tbs = dwxgmac2_enable_tbs,
> > +};
>
> Please add dwxgmac400_dma_ops to hwif.h in this patch rather than a
> subsequent one to avoid Sparse suggesting the symbol should be static.
Thanks, I will make the change in the next patch revision.
>
> ...
Powered by blists - more mailing lists