On 01/03/22 at 12:42下午, Corentin Labbe wrote:
Date: Mon, 3 Jan 2022 12:42:58 +0100
From: Corentin Labbe <clabbe.montjoie@gmail.com>
To: Conley Lee <redacted>
Cc: davem@davemloft.net, mripard@kernel.org, wens@csie.org,
jernej.skrabec@gmail.com, netdev@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v6] sun4i-emac.c: add dma support
Le Mon, Jan 03, 2022 at 10:55:04AM +0800, Conley Lee a écrit :
quoted
On 01/02/22 at 06:38下午, Corentin Labbe wrote:
quoted
Date: Sun, 2 Jan 2022 18:38:51 +0100
From: Corentin Labbe <clabbe.montjoie@gmail.com>
To: Conley Lee <redacted>
Cc: davem@davemloft.net, kuba@kernel.org, mripard@kernel.org,
wens@csie.org, netdev@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org,
linux-sunxi@lists.linux.dev, jernej.skrabec@gmail.com
Subject: Re: [PATCH v6] sun4i-emac.c: add dma support
Le Sat, Jan 01, 2022 at 03:09:01PM +0800, Conley Lee a écrit :
quoted
On 12/31/21 at 11:43上午, Corentin Labbe wrote:
quoted
Date: Fri, 31 Dec 2021 11:43:53 +0100
From: Corentin Labbe <clabbe.montjoie@gmail.com>
To: conleylee@foxmail.com
Cc: davem@davemloft.net, kuba@kernel.org, mripard@kernel.org,
wens@csie.org, netdev@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v6] sun4i-emac.c: add dma support
Le Wed, Dec 29, 2021 at 09:43:51AM +0800, conleylee@foxmail.com a écrit :
quoted
From: Conley Lee <redacted>
Thanks for your review. Here is the new version for this patch.
This patch adds support for the emac rx dma present on sun4i. The emac
is able to move packets from rx fifo to RAM by using dma.
Change since v4.
- rename sbk field to skb
- rename alloc_emac_dma_req to emac_alloc_dma_req
- using kzalloc(..., GPF_ATOMIC) in interrupt context to avoid
sleeping
- retry by using emac_inblk_32bit when emac_dma_inblk_32bit fails
- fix some code style issues
Change since v5.
- fix some code style issue
Hello
I just tested this on a sun4i-a10-olinuxino-lime
I got:
[ 2.922812] sun4i-emac 1c0b000.ethernet (unnamed net_device) (uninitialized): get io resource from device: 0x1c0b000, size = 4096
[ 2.934512] sun4i-emac 1c0b000.ethernet (unnamed net_device) (uninitialized): failed to request dma channel. dma is disabled
[ 2.945740] sun4i-emac 1c0b000.ethernet (unnamed net_device) (uninitialized): configure dma failed. disable dma.
[ 2.957887] sun4i-emac 1c0b000.ethernet: eth0: at (ptrval), IRQ 19 MAC: 02:49:09:40:ab:3d
On which board did you test it and how ?
Regards
Sorry. I sent the email with text/html format. This email is an clean version.
In order to enable dma rx channel. `dmas` and `dma-names` properties
should be added to emac section in dts:
emac: ethernet@1c0b000 {
...
dmas = <&dma SUN4I_DMA_DEDICATED 7>;
dma-names = "rx";
...
}
Helo
Yes I figured that out. But you should have done a patch serie adding this.
Your patch is now applied but it is a useless change without the dtb change.
You should also probably update the driver binding (Documentation/devicetree/bindings/net/allwinner,sun4i-a10-emac.yaml) since you add new members to DT node.
Furthermore, why did you add RX only and not TX dma also ?
Probably it is too late since patch is applied but it is:
Tested-by: Corentin Labbe <clabbe.montjoie@gmail.com>
Tested-on: sun4i-a10-olinuxino-lime
Regards
Thanks for your suggestion. I will submit a patch to add those changes
later.
And the reason why I didn't add TX support is becasuse there is no any
public page to describe sun4i emac TX DMA register map. So, I don't known
how to enable TX DMA at hardware level. If you has any page or datasheet
about EMAC TX DMA, can you share with me ? Thanks.
Hello
You can find TX DMA info on the R40 Use manual (8.10.5.2 Register Name: EMAC_TX_MODE)
You should keep all people in CC when you answer to someone.
Regards
Haha, got it! I have been looking for the docs about emac register map
for a long time. You really help me a lot. I will submit a new patch to
add driver bidding and enable both RX and TX channels. Thanks ~