Re: [PATCH] [net-next] stmmac: use netif_set_real_num_{rx,tx}_queues
From: Joao Pinto <hidden>
Date: 2017-04-03 13:12:18
Also in:
lkml
Hello Peppe, Às 2:07 PM de 4/3/2017, Giuseppe CAVALLARO escreveu:
Hello Joao On 3/30/2017 6:42 PM, Joao Pinto wrote:quoted
Às 5:35 PM de 3/30/2017, Niklas Cassel escreveu:quoted
On 03/30/2017 04:34 PM, Thierry Reding wrote:quoted
On Thu, Mar 30, 2017 at 09:45:36AM +0200, Corentin Labbe wrote:quoted
On Tue, Mar 28, 2017 at 06:01:05PM -0700, David Miller wrote:quoted
From: Arnd Bergmann <arnd@arndb.de> Date: Tue, 28 Mar 2017 11:48:21 +0200quoted
A driver must not access the two fields directly but should instead use the helper functions to set the values and keep a consistent internal state: ethernet/stmicro/stmmac/stmmac_main.c: In function 'stmmac_dvr_probe': ethernet/stmicro/stmmac/stmmac_main.c:4083:8: error: 'struct net_device' has no member named 'real_num_rx_queues'; did you mean 'real_num_tx_queues'? Fixes: a8f5102af2a7 ("net: stmmac: TX and RX queue priority configuration") Signed-off-by: Arnd Bergmann <arnd@arndb.de>Applied.This break my revert patch. (since it patch ("net: stmmac: enable multiple buffers"). Since dwmac-sunxi is still broken, what can I do ? send two revert patch ? or adapt the reverting patch.Have you tried if the kcalloc() patch I sent on Tuesday fixes things the issues introduced by the multiple buffers patch? Niklas reported that it restores functionality on his setup. If it makes things work for you as well, we could maybe avoid the revert altogether.Thierry, I know that you are using DWMAC CORE 4.XX How many RX queues and how many TX queues have you got? I'm also using DWMAC CORE 4.XX We have 2 TX queues and 1 RX queue. I think that Corentin is using DWMAC CORE 3.XX I know that Joao is using an IP Prototyping Kit that uses DWMAC CORE 4.XX (connected via PCIe). It would be nice if Joao could get an IP Prototyping Kit based on DWMAC CORE 3.XX. Doesn't Synopsys have an IP Prototyping Kit based on DWMAC CORE 3.XX laying around somewhere? :)I requested a prototyping platform with MAC 100 or a MAC 1000 in order to make more tests, but I don't have an ETA for it yet. The implication of the multiple buffers patch in 3.xx is some flow change in the configuration of dma op mode or similar. I would recomend Corentin to dump the dma & mac registers in the end of the _open function in order to see if the DMA is really being well configured and is really started.Old devices managed as stmmac: mac10/100 platform driver have no multi-queue support. It was introduced in the new versions managed by mac1000 but in my opinion the stmmac driver has to only work with a single queue for tx and rx on ALL the 3.x versions. In fact, although the latest series have the multi-queue and channels there is just one IRQ and this is a very poor implementation. The 3.xx is very different from what we have in the 4.XX (QoS) on this part and AV/B. Nobody has ever asked for having this support in all these years for the previous chips. Adding this kind of support we'll spend time for having a no useful optimization and risking to break the compatibility with a lot platforms that use these chips. I image, multi-queue stable on 4.XX and no support on all older versions. Let me know if you share that.
Yes older cores do not support multiple queues and I tried to isolate the features not to affect older versions. Do you think that functions as "ndev = alloc_etherdev_mqs" has some sort of influence? Thanks.
Regards Peppequoted
Thanks. Joao