From: Yanteng Si <siyanteng@loongson.cn>
To: andrew@lunn.ch, hkallweit1@gmail.com, peppe.cavallaro@st.com,
alexandre.torgue@foss.st.com, joabreu@synopsys.com,
fancer.lancer@gmail.com
Cc: Yanteng Si <siyanteng@loongson.cn>,
Jose.Abreu@synopsys.com, chenhuacai@loongson.cn,
linux@armlinux.org.uk, guyinggang@loongson.cn,
netdev@vger.kernel.org, chris.chenfeiyang@gmail.com
Subject: [PATCH net-next v8 00/11] stmmac: Add Loongson platform support
Date: Tue, 30 Jan 2024 16:43:20 +0800 [thread overview]
Message-ID: <cover.1706601050.git.siyanteng@loongson.cn> (raw)
v8:
* The biggest change is according to Serge's comment in the previous
edition:
Seeing the patch in the current state would overcomplicate the generic
code and the only functions you need to update are
dwmac_dma_interrupt()
dwmac1000_dma_init_channel()
you can have these methods re-defined with all the Loongson GNET
specifics in the low-level platform driver (dwmac-loongson.c). After
that you can just override the mac_device_info.dma pointer with a
fixed stmmac_dma_ops descriptor. Here is what should be done for that:
1. Keep the Patch 4/9 with my comments fixed. First it will be partly
useful for your GNET device. Second in general it's a correct
implementation of the normal DW GMAC v3.x multi-channels feature and
will be useful for the DW GMACs with that feature enabled.
2. Create the Loongson GNET-specific
stmmac_dma_ops.dma_interrupt()
stmmac_dma_ops.init_chan()
methods in the dwmac-loongson.c driver. Don't forget to move all the
Loongson-specific macros from dwmac_dma.h to dwmac-loongson.c.
3. Create a Loongson GNET-specific platform setup method with the next
semantics:
+ allocate stmmac_dma_ops instance and initialize it with
dwmac1000_dma_ops.
+ override the stmmac_dma_ops.{dma_interrupt, init_chan} with
the pointers to the methods defined in 2.
+ allocate mac_device_info instance and initialize the
mac_device_info.dma field with a pointer to the new
stmmac_dma_ops instance.
+ call dwmac1000_setup() or initialize mac_device_info in a way
it's done in dwmac1000_setup() (the later might be better so you
wouldn't need to export the dwmac1000_setup() function).
+ override stmmac_priv.synopsys_id with a correct value.
4. Initialize plat_stmmacenet_data.setup() with the pointer to the
method created in 3.
* Others:
Re-split the patch.
Passed checkpatch.pl test.
v7:
* Refer to andrew's suggestion:
- Add DMA_INTR_ENA_NIE_RX and DMA_INTR_ENA_NIE_TX #define's, etc.
* Others:
- Using --subject-prefix="PATCH net-next vN" to indicate that the
patches are for the networking tree.
- Rebase to the latest networking tree:
<git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git>
v6:
* Refer to Serge's suggestion:
- Add new platform feature flag:
include/linux/stmmac.h:
+#define STMMAC_FLAG_HAS_LGMAC BIT(13)
- Add the IRQs macros specific to the Loongson Multi-channels GMAC:
drivers/net/ethernet/stmicro/stmmac/dwmac_dma.h:
+#define DMA_INTR_ENA_NIE_LOONGSON 0x00060000 /* ...*/
#define DMA_INTR_ENA_NIE 0x00010000 /* Normal Summary */
...
- Drop all of redundant changes that don't require the
prototypes being converted to accepting the stmmac_priv
pointer.
* Refer to andrew's suggestion:
- Drop white space changes.
- break patch up into lots of smaller parts.
Some small patches have been put into another series as a preparation
see <https://lore.kernel.org/loongarch/cover.1702289232.git.siyanteng@loongson.cn/T/#t>
*note* : This series of patches relies on the three small patches above.
* others
- Drop irq_flags changes.
- Changed patch order.
v4 -> v5:
* Remove an ugly and useless patch (fix channel number).
* Remove the non-standard dma64 driver code, and also remove
the HWIF entries, since the associated custom callbacks no
longer exist.
* Refer to Serge's suggestion: Update the dwmac1000_dma.c to
support the multi-DMA-channels controller setup.
See:
v4: <https://lore.kernel.org/loongarch/cover.1692696115.git.chenfeiyang@loongson.cn/>
v3: <https://lore.kernel.org/loongarch/cover.1691047285.git.chenfeiyang@loongson.cn/>
v2: <https://lore.kernel.org/loongarch/cover.1690439335.git.chenfeiyang@loongson.cn/>
v1: <https://lore.kernel.org/loongarch/cover.1689215889.git.chenfeiyang@loongson.cn/>
Yanteng Si (11):
net: stmmac: Add multi-channel support
net: stmmac: dwmac-loongson: Refactor code for loongson_dwmac_probe()
net: stmmac: dwmac-loongson: Add full PCI support
net: stmmac: dwmac-loongson: Move irq config to loongson_gmac_config
net: stmmac: dwmac-loongson: Add Loongson-specific register
definitions
net: stmmac: dwmac-loongson: Add GNET support
net: stmmac: dwmac-loongson: Add multi-channel supports for loongson
net: stmmac: dwmac-loongson: Fix MAC speed for GNET
net: stmmac: dwmac-loongson: Fix half duplex
net: stmmac: dwmac-loongson: Disable flow control for GMAC
net: stmmac: dwmac-loongson: Disable coe for some Loongson GNET
.../ethernet/stmicro/stmmac/dwmac-loongson.c | 561 ++++++++++++++++--
.../net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 2 +-
.../ethernet/stmicro/stmmac/dwmac1000_dma.c | 36 +-
.../net/ethernet/stmicro/stmmac/dwmac_dma.h | 19 +-
.../net/ethernet/stmicro/stmmac/dwmac_lib.c | 32 +-
drivers/net/ethernet/stmicro/stmmac/hwif.h | 2 +-
.../ethernet/stmicro/stmmac/stmmac_ethtool.c | 6 +
.../net/ethernet/stmicro/stmmac/stmmac_main.c | 15 +-
include/linux/stmmac.h | 3 +
9 files changed, 582 insertions(+), 94 deletions(-)
--
2.31.4
next reply other threads:[~2024-01-30 8:43 UTC|newest]
Thread overview: 97+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-30 8:43 Yanteng Si [this message]
2024-01-30 8:43 ` [PATCH net-next v8 01/11] net: stmmac: Add multi-channel support Yanteng Si
2024-02-02 12:30 ` Simon Horman
2024-02-04 8:43 ` Yanteng Si
2024-02-04 23:28 ` Serge Semin
2024-02-06 9:02 ` Yanteng Si
2024-02-06 9:48 ` Serge Semin
2024-02-19 11:02 ` Yanteng Si
2024-02-21 13:48 ` Serge Semin
[not found] ` <ee2ffb6a-fe34-47a1-9734-b0e6697a5f09@loongson.cn>
2024-03-13 9:10 ` Yanteng Si
2024-03-19 14:18 ` Serge Semin
2024-03-20 9:47 ` Yanteng Si
2024-03-20 9:55 ` Russell King (Oracle)
2024-03-20 10:51 ` Yanteng Si
2024-02-05 1:11 ` Serge Semin
2024-01-30 8:43 ` [PATCH net-next v8 02/11] net: stmmac: dwmac-loongson: Refactor code for loongson_dwmac_probe() Yanteng Si
2024-02-02 12:33 ` Simon Horman
2024-02-04 8:47 ` Yanteng Si
2024-02-05 14:43 ` Serge Semin
2024-04-05 11:13 ` Yanteng Si
2024-01-30 8:43 ` [PATCH net-next v8 03/11] net: stmmac: dwmac-loongson: Add full PCI support Yanteng Si
2024-02-05 16:49 ` Serge Semin
2024-02-21 10:08 ` Yanteng Si
2024-01-30 8:43 ` [PATCH net-next v8 04/11] net: stmmac: dwmac-loongson: Move irq config to loongson_gmac_config Yanteng Si
2024-02-05 17:01 ` Serge Semin
2024-03-13 8:14 ` Yanteng Si
2024-03-19 13:43 ` Serge Semin
2024-03-20 10:12 ` Yanteng Si
2024-01-30 8:48 ` [PATCH net-next v8 05/11] net: stmmac: dwmac-loongson: Add Loongson-specific register definitions Yanteng Si
2024-02-05 18:17 ` Serge Semin
2024-02-22 13:39 ` Yanteng Si
2024-02-22 13:59 ` Serge Semin
2024-02-23 8:16 ` Yanteng Si
2024-02-23 18:50 ` Serge Semin
2024-03-07 13:15 ` Yanteng Si
2024-03-07 13:44 ` Serge Semin
2024-03-08 4:05 ` Yanteng Si
2024-01-30 8:48 ` [PATCH net-next v8 06/11] net: stmmac: dwmac-loongson: Add GNET support Yanteng Si
2024-02-05 20:58 ` Serge Semin
[not found] ` <d0e56c9b-9549-4061-8e44-2504b6b96897@loongson.cn>
2024-03-14 13:12 ` Yanteng Si
2024-03-19 15:03 ` Serge Semin
2024-03-20 10:23 ` Yanteng Si
2024-03-20 12:18 ` Serge Semin
2024-03-21 9:13 ` Yanteng Si
2024-03-21 14:55 ` Andrew Lunn
2024-03-28 11:41 ` Yanteng Si
2024-03-22 19:09 ` Serge Semin
2024-01-30 8:48 ` [PATCH net-next v8 07/11] net: stmmac: dwmac-loongson: Add multi-channel supports for loongson Yanteng Si
2024-02-05 21:28 ` Serge Semin
[not found] ` <e1c7b5fa-f3f8-4aa3-af4d-ca72b54d9c8c@loongson.cn>
2024-03-14 13:13 ` Yanteng Si
2024-03-19 15:53 ` Serge Semin
2024-03-22 10:36 ` Yanteng Si
2024-03-22 18:47 ` Serge Semin
2024-04-03 8:09 ` Yanteng Si
2024-04-03 12:03 ` Serge Semin
2024-04-05 10:17 ` Yanteng Si
2024-04-03 8:23 ` Yanteng Si
2024-01-30 8:48 ` [PATCH net-next v8 08/11] net: stmmac: dwmac-loongson: Fix MAC speed for GNET Yanteng Si
2024-02-05 21:55 ` Serge Semin
[not found] ` <4873ea5a-1b23-4512-b039-0a9198b53adf@loongson.cn>
2024-03-14 13:18 ` Yanteng Si
2024-03-19 17:02 ` Serge Semin
2024-03-20 10:42 ` Yanteng Si
2024-03-21 9:29 ` Yanteng Si
2024-03-21 15:02 ` Andrew Lunn
2024-03-21 15:19 ` Russell King (Oracle)
2024-03-21 15:38 ` Andrew Lunn
2024-03-26 12:32 ` Yanteng Si
2024-03-26 12:02 ` Yanteng Si
2024-03-26 12:21 ` Andrew Lunn
2024-03-27 2:41 ` Yanteng Si
2024-03-27 12:47 ` Andrew Lunn
2024-03-28 10:08 ` Yanteng Si
2024-01-30 8:49 ` [PATCH net-next v8 09/11] net: stmmac: dwmac-loongson: Fix half duplex Yanteng Si
2024-02-05 21:58 ` Serge Semin
2024-02-05 22:06 ` Serge Semin
2024-03-13 9:24 ` Yanteng Si
2024-03-13 10:21 ` Russell King (Oracle)
2024-03-14 13:08 ` Yanteng Si
2024-03-20 10:10 ` Serge Semin
2024-03-20 10:37 ` Russell King (Oracle)
2024-03-20 12:50 ` Russell King (Oracle)
2024-03-20 14:22 ` Russell King (Oracle)
2024-03-22 18:07 ` Serge Semin
2024-03-22 19:56 ` Russell King (Oracle)
2024-04-03 12:37 ` Serge Semin
2024-04-05 10:48 ` Yanteng Si
2024-01-30 8:49 ` [PATCH net-next v8 10/11] net: stmmac: dwmac-loongson: Disable flow control for GMAC Yanteng Si
2024-02-05 22:13 ` Serge Semin
2024-03-13 9:25 ` Yanteng Si
2024-01-30 8:49 ` [PATCH net-next v8 11/11] net: stmmac: dwmac-loongson: Disable coe for some Loongson GNET Yanteng Si
2024-02-05 22:18 ` Serge Semin
2024-03-13 9:52 ` Yanteng Si
2024-03-13 10:19 ` Yanteng Si
2024-03-20 11:24 ` Serge Semin
2024-01-30 9:57 ` [PATCH net-next v8 00/11] stmmac: Add Loongson platform support Serge Semin
2024-01-31 2:10 ` Jakub Kicinski
2024-01-31 9:20 ` Yanteng Si
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1706601050.git.siyanteng@loongson.cn \
--to=siyanteng@loongson.cn \
--cc=Jose.Abreu@synopsys.com \
--cc=alexandre.torgue@foss.st.com \
--cc=andrew@lunn.ch \
--cc=chenhuacai@loongson.cn \
--cc=chris.chenfeiyang@gmail.com \
--cc=fancer.lancer@gmail.com \
--cc=guyinggang@loongson.cn \
--cc=hkallweit1@gmail.com \
--cc=joabreu@synopsys.com \
--cc=linux@armlinux.org.uk \
--cc=netdev@vger.kernel.org \
--cc=peppe.cavallaro@st.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).