mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2024-12-19 05:14:58 +00:00
kernel: rename upstreamed patches and import fixes
Move and rename patches which were merged upstream and import follow-up
fixes for MediaTek Ethernet offloading features on MT7622 and Filogic
platforms. Remove patch
793-net-ethernet-mtk_eth_soc-fix-typo-in-__mtk_foe_entry.patch
which breaks hardware flow offloading on MT7622, it will be reverted
upstream as well.
Fixes: c93c5365c0
("kernel: pick patches for MediaTek Ethernet from linux-next")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This commit is contained in:
parent
3e2ea10e5e
commit
e8b00cfdcb
@ -44,7 +44,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
|
||||
|
||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||
@@ -4150,6 +4150,7 @@ static const struct mtk_soc_data mt7621_
|
||||
@@ -4148,6 +4148,7 @@ static const struct mtk_soc_data mt7621_
|
||||
.required_clks = MT7621_CLKS_BITMAP,
|
||||
.required_pctl = false,
|
||||
.offload_version = 2,
|
||||
@ -52,7 +52,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
|
||||
.txrx = {
|
||||
.txd_size = sizeof(struct mtk_tx_dma),
|
||||
.rxd_size = sizeof(struct mtk_rx_dma),
|
||||
@@ -4168,6 +4169,7 @@ static const struct mtk_soc_data mt7622_
|
||||
@@ -4166,6 +4167,7 @@ static const struct mtk_soc_data mt7622_
|
||||
.required_clks = MT7622_CLKS_BITMAP,
|
||||
.required_pctl = false,
|
||||
.offload_version = 2,
|
||||
@ -60,7 +60,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
|
||||
.txrx = {
|
||||
.txd_size = sizeof(struct mtk_tx_dma),
|
||||
.rxd_size = sizeof(struct mtk_rx_dma),
|
||||
@@ -4185,6 +4187,7 @@ static const struct mtk_soc_data mt7623_
|
||||
@@ -4183,6 +4185,7 @@ static const struct mtk_soc_data mt7623_
|
||||
.required_clks = MT7623_CLKS_BITMAP,
|
||||
.required_pctl = true,
|
||||
.offload_version = 2,
|
||||
@ -68,7 +68,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
|
||||
.txrx = {
|
||||
.txd_size = sizeof(struct mtk_tx_dma),
|
||||
.rxd_size = sizeof(struct mtk_rx_dma),
|
||||
@@ -4218,6 +4221,7 @@ static const struct mtk_soc_data mt7986_
|
||||
@@ -4216,6 +4219,7 @@ static const struct mtk_soc_data mt7986_
|
||||
.caps = MT7986_CAPS,
|
||||
.required_clks = MT7986_CLKS_BITMAP,
|
||||
.required_pctl = false,
|
@ -21,7 +21,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
|
||||
|
||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||
@@ -4167,6 +4167,7 @@ static const struct mtk_soc_data mt7621_
|
||||
@@ -4165,6 +4165,7 @@ static const struct mtk_soc_data mt7621_
|
||||
.required_pctl = false,
|
||||
.offload_version = 2,
|
||||
.hash_offset = 2,
|
||||
@ -29,7 +29,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
|
||||
.txrx = {
|
||||
.txd_size = sizeof(struct mtk_tx_dma),
|
||||
.rxd_size = sizeof(struct mtk_rx_dma),
|
||||
@@ -4186,6 +4187,7 @@ static const struct mtk_soc_data mt7622_
|
||||
@@ -4184,6 +4185,7 @@ static const struct mtk_soc_data mt7622_
|
||||
.required_pctl = false,
|
||||
.offload_version = 2,
|
||||
.hash_offset = 2,
|
||||
@ -37,7 +37,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
|
||||
.txrx = {
|
||||
.txd_size = sizeof(struct mtk_tx_dma),
|
||||
.rxd_size = sizeof(struct mtk_rx_dma),
|
||||
@@ -4204,6 +4206,7 @@ static const struct mtk_soc_data mt7623_
|
||||
@@ -4202,6 +4204,7 @@ static const struct mtk_soc_data mt7623_
|
||||
.required_pctl = true,
|
||||
.offload_version = 2,
|
||||
.hash_offset = 2,
|
@ -49,7 +49,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
|
||||
if (reason == MTK_PPE_CPU_REASON_HIT_UNBIND_RATE_REACHED)
|
||||
mtk_ppe_check_skb(eth->ppe[0], skb, hash);
|
||||
|
||||
@@ -4183,7 +4184,7 @@ static const struct mtk_soc_data mt7621_
|
||||
@@ -4181,7 +4182,7 @@ static const struct mtk_soc_data mt7621_
|
||||
.required_pctl = false,
|
||||
.offload_version = 2,
|
||||
.hash_offset = 2,
|
||||
@ -58,7 +58,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
|
||||
.txrx = {
|
||||
.txd_size = sizeof(struct mtk_tx_dma),
|
||||
.rxd_size = sizeof(struct mtk_rx_dma),
|
||||
@@ -4203,7 +4204,7 @@ static const struct mtk_soc_data mt7622_
|
||||
@@ -4201,7 +4202,7 @@ static const struct mtk_soc_data mt7622_
|
||||
.required_pctl = false,
|
||||
.offload_version = 2,
|
||||
.hash_offset = 2,
|
||||
@ -67,7 +67,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
|
||||
.txrx = {
|
||||
.txd_size = sizeof(struct mtk_tx_dma),
|
||||
.rxd_size = sizeof(struct mtk_rx_dma),
|
||||
@@ -4222,7 +4223,7 @@ static const struct mtk_soc_data mt7623_
|
||||
@@ -4220,7 +4221,7 @@ static const struct mtk_soc_data mt7623_
|
||||
.required_pctl = true,
|
||||
.offload_version = 2,
|
||||
.hash_offset = 2,
|
||||
@ -76,7 +76,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
|
||||
.txrx = {
|
||||
.txd_size = sizeof(struct mtk_tx_dma),
|
||||
.rxd_size = sizeof(struct mtk_rx_dma),
|
||||
@@ -4254,9 +4255,11 @@ static const struct mtk_soc_data mt7986_
|
||||
@@ -4252,9 +4253,11 @@ static const struct mtk_soc_data mt7986_
|
||||
.reg_map = &mt7986_reg_map,
|
||||
.ana_rgc3 = 0x128,
|
||||
.caps = MT7986_CAPS,
|
@ -16,7 +16,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
|
||||
|
||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||
@@ -4258,6 +4258,7 @@ static const struct mtk_soc_data mt7986_
|
||||
@@ -4256,6 +4256,7 @@ static const struct mtk_soc_data mt7986_
|
||||
.hw_features = MTK_HW_FEATURES,
|
||||
.required_clks = MT7986_CLKS_BITMAP,
|
||||
.required_pctl = false,
|
@ -0,0 +1,46 @@
|
||||
From 40350ce3ae8701146aafd79c5f7b5582d9955e58 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Golle <daniel@makrotopia.org>
|
||||
Date: Sun, 25 Sep 2022 15:12:35 +0100
|
||||
Subject: [PATCH 1/2] net: ethernet: mtk_eth_soc: fix wrong use of new helper
|
||||
function
|
||||
To: linux-mediatek@lists.infradead.org,
|
||||
netdev@vger.kernel.org,
|
||||
Lorenzo Bianconi <lorenzo@kernel.org>
|
||||
Cc: Sujuan Chen <sujuan.chen@mediatek.com>,
|
||||
Bo Jiao <Bo.Jiao@mediatek.com>,
|
||||
Felix Fietkau <nbd@nbd.name>,
|
||||
John Crispin <john@phrozen.org>,
|
||||
Sean Wang <sean.wang@mediatek.com>,
|
||||
Mark Lee <Mark-MC.Lee@mediatek.com>,
|
||||
David S. Miller <davem@davemloft.net>,
|
||||
Eric Dumazet <edumazet@google.com>,
|
||||
Jakub Kicinski <kuba@kernel.org>,
|
||||
Paolo Abeni <pabeni@redhat.com>,
|
||||
Matthias Brugger <matthias.bgg@gmail.com>,
|
||||
Chen Minqiang <ptpt52@gmail.com>
|
||||
|
||||
In function mtk_foe_entry_set_vlan() the call to field accessor macro
|
||||
FIELD_GET(MTK_FOE_IB1_BIND_VLAN_LAYER, entry->ib1)
|
||||
has been wrongly replaced by
|
||||
mtk_prep_ib1_vlan_layer(eth, entry->ib1)
|
||||
|
||||
Use correct helper function mtk_get_ib1_vlan_layer instead.
|
||||
|
||||
Reported-by: Chen Minqiang <ptpt52@gmail.com>
|
||||
Fixes: 03a3180e5c09e1 ("net: ethernet: mtk_eth_soc: introduce flow offloading support for mt7986")
|
||||
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
---
|
||||
drivers/net/ethernet/mediatek/mtk_ppe.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/net/ethernet/mediatek/mtk_ppe.c
|
||||
+++ b/drivers/net/ethernet/mediatek/mtk_ppe.c
|
||||
@@ -337,7 +337,7 @@ int mtk_foe_entry_set_vlan(struct mtk_et
|
||||
{
|
||||
struct mtk_foe_mac_info *l2 = mtk_foe_entry_l2(eth, entry);
|
||||
|
||||
- switch (mtk_prep_ib1_vlan_layer(eth, entry->ib1)) {
|
||||
+ switch (mtk_get_ib1_vlan_layer(eth, entry->ib1)) {
|
||||
case 0:
|
||||
entry->ib1 |= mtk_get_ib1_vlan_tag_mask(eth) |
|
||||
mtk_prep_ib1_vlan_layer(eth, 1);
|
@ -0,0 +1,49 @@
|
||||
From fcf14c2c5deae8f8c3d25530bab10856f63f8a63 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Golle <daniel@makrotopia.org>
|
||||
Date: Sun, 25 Sep 2022 15:18:54 +0100
|
||||
Subject: [PATCH 2/2] net: ethernet: mtk_eth_soc: fix usage of foe_entry_size
|
||||
To: linux-mediatek@lists.infradead.org,
|
||||
netdev@vger.kernel.org,
|
||||
Lorenzo Bianconi <lorenzo@kernel.org>
|
||||
Cc: Sujuan Chen <sujuan.chen@mediatek.com>,
|
||||
Bo Jiao <Bo.Jiao@mediatek.com>,
|
||||
Felix Fietkau <nbd@nbd.name>,
|
||||
John Crispin <john@phrozen.org>,
|
||||
Sean Wang <sean.wang@mediatek.com>,
|
||||
Mark Lee <Mark-MC.Lee@mediatek.com>,
|
||||
David S. Miller <davem@davemloft.net>,
|
||||
Eric Dumazet <edumazet@google.com>,
|
||||
Jakub Kicinski <kuba@kernel.org>,
|
||||
Paolo Abeni <pabeni@redhat.com>,
|
||||
Matthias Brugger <matthias.bgg@gmail.com>,
|
||||
Chen Minqiang <ptpt52@gmail.com>
|
||||
|
||||
As sizeof(hwe->data) can now longer be used as the actual size depends
|
||||
on foe_entry_size, in commit 9d8cb4c096ab02
|
||||
("net: ethernet: mtk_eth_soc: add foe_entry_size to mtk_eth_soc") the
|
||||
use of sizeof(hwe->data) is hence replaced.
|
||||
However, replacing it with ppe->eth->soc->foe_entry_size is wrong as
|
||||
foe_entry_size represents the size of the whole descriptor and not just
|
||||
the 'data' field.
|
||||
Fix this by subtracing the size of the only other field in the struct
|
||||
'ib1', so we actually end up with the correct size to be copied to the
|
||||
data field.
|
||||
|
||||
Reported-by: Chen Minqiang <ptpt52@gmail.com>
|
||||
Fixes: 9d8cb4c096ab02 ("net: ethernet: mtk_eth_soc: add foe_entry_size to mtk_eth_soc")
|
||||
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
---
|
||||
drivers/net/ethernet/mediatek/mtk_ppe.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/net/ethernet/mediatek/mtk_ppe.c
|
||||
+++ b/drivers/net/ethernet/mediatek/mtk_ppe.c
|
||||
@@ -547,7 +547,7 @@ __mtk_foe_entry_commit(struct mtk_ppe *p
|
||||
}
|
||||
|
||||
hwe = mtk_foe_get_entry(ppe, hash);
|
||||
- memcpy(&hwe->data, &entry->data, eth->soc->foe_entry_size);
|
||||
+ memcpy(&hwe->data, &entry->data, eth->soc->foe_entry_size - sizeof(hwe->ib1));
|
||||
wmb();
|
||||
hwe->ib1 = entry->ib1;
|
||||
|
@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||||
@@ -2789,8 +2789,8 @@ static irqreturn_t mtk_handle_irq_rx(int
|
||||
@@ -2802,8 +2802,8 @@ static irqreturn_t mtk_handle_irq_rx(int
|
||||
|
||||
eth->rx_events++;
|
||||
if (likely(napi_schedule_prep(ð->rx_napi))) {
|
||||
@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
|
||||
return IRQ_HANDLED;
|
||||
@@ -2802,8 +2802,8 @@ static irqreturn_t mtk_handle_irq_tx(int
|
||||
@@ -2815,8 +2815,8 @@ static irqreturn_t mtk_handle_irq_tx(int
|
||||
|
||||
eth->tx_events++;
|
||||
if (likely(napi_schedule_prep(ð->tx_napi))) {
|
||||
@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
|
||||
return IRQ_HANDLED;
|
||||
@@ -4074,6 +4074,8 @@ static int mtk_probe(struct platform_dev
|
||||
@@ -4114,6 +4114,8 @@ static int mtk_probe(struct platform_dev
|
||||
* for NAPI to work
|
||||
*/
|
||||
init_dummy_netdev(ð->dummy_dev);
|
||||
|
@ -0,0 +1,45 @@
|
||||
From 8743af8a77dd909970462ca578358128cce5d027 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Golle <daniel@makrotopia.org>
|
||||
Date: Tue, 27 Sep 2022 15:39:39 +0100
|
||||
Subject: [PATCH] net: ethernet: mtk_eth_soc: fix mask of
|
||||
RX_DMA_GET_SPORT{,_V2}
|
||||
To: linux-mediatek@lists.infradead.org,
|
||||
netdev@vger.kernel.org,
|
||||
Lorenzo Bianconi <lorenzo@kernel.org>
|
||||
Cc: Sujuan Chen <sujuan.chen@mediatek.com>,
|
||||
Bo Jiao <Bo.Jiao@mediatek.com>,
|
||||
Felix Fietkau <nbd@nbd.name>,
|
||||
John Crispin <john@phrozen.org>,
|
||||
Sean Wang <sean.wang@mediatek.com>,
|
||||
Mark Lee <Mark-MC.Lee@mediatek.com>,
|
||||
David S. Miller <davem@davemloft.net>,
|
||||
Eric Dumazet <edumazet@google.com>,
|
||||
Jakub Kicinski <kuba@kernel.org>,
|
||||
Paolo Abeni <pabeni@redhat.com>,
|
||||
Matthias Brugger <matthias.bgg@gmail.com>,
|
||||
Chen Minqiang <ptpt52@gmail.com>
|
||||
|
||||
The bitmasks applied in RX_DMA_GET_SPORT and RX_DMA_GET_SPORT_V2 macros
|
||||
were swapped. Fix that.
|
||||
|
||||
Reported-by: Chen Minqiang <ptpt52@gmail.com>
|
||||
Fixes: 160d3a9b192985 ("net: ethernet: mtk_eth_soc: introduce MTK_NETSYS_V2 support")
|
||||
Acked-by: Lorenzo Bianconi <lorenzo@kernel.org>
|
||||
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
---
|
||||
drivers/net/ethernet/mediatek/mtk_eth_soc.h | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
|
||||
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
|
||||
@@ -315,8 +315,8 @@
|
||||
#define MTK_RXD5_PPE_CPU_REASON GENMASK(22, 18)
|
||||
#define MTK_RXD5_SRC_PORT GENMASK(29, 26)
|
||||
|
||||
-#define RX_DMA_GET_SPORT(x) (((x) >> 19) & 0xf)
|
||||
-#define RX_DMA_GET_SPORT_V2(x) (((x) >> 26) & 0x7)
|
||||
+#define RX_DMA_GET_SPORT(x) (((x) >> 19) & 0x7)
|
||||
+#define RX_DMA_GET_SPORT_V2(x) (((x) >> 26) & 0xf)
|
||||
|
||||
/* PDMA V2 descriptor rxd3 */
|
||||
#define RX_DMA_VTAG_V2 BIT(0)
|
@ -1,27 +0,0 @@
|
||||
From 12ff69304c83c679ca01ef3db963ab0db9de19fb Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <12ff69304c83c679ca01ef3db963ab0db9de19fb.1662332102.git.lorenzo@kernel.org>
|
||||
In-Reply-To: <2a60545635c2705312299384f4e9fec2f2a3acd6.1662332102.git.lorenzo@kernel.org>
|
||||
References: <2a60545635c2705312299384f4e9fec2f2a3acd6.1662332102.git.lorenzo@kernel.org>
|
||||
From: Lorenzo Bianconi <lorenzo@kernel.org>
|
||||
Date: Mon, 5 Sep 2022 00:43:43 +0200
|
||||
Subject: [PATCH net-next 2/6] net: ethernet: mtk_eth_soc: fix typo in
|
||||
__mtk_foe_entry_clear
|
||||
|
||||
Set ib1 state to MTK_FOE_STATE_UNBIND in __mtk_foe_entry_clear routine.
|
||||
|
||||
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
|
||||
---
|
||||
drivers/net/ethernet/mediatek/mtk_ppe.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/net/ethernet/mediatek/mtk_ppe.c
|
||||
+++ b/drivers/net/ethernet/mediatek/mtk_ppe.c
|
||||
@@ -413,7 +413,7 @@ __mtk_foe_entry_clear(struct mtk_ppe *pp
|
||||
struct mtk_foe_entry *hwe = mtk_foe_get_entry(ppe, entry->hash);
|
||||
|
||||
hwe->ib1 &= ~MTK_FOE_IB1_STATE;
|
||||
- hwe->ib1 |= FIELD_PREP(MTK_FOE_IB1_STATE, MTK_FOE_STATE_BIND);
|
||||
+ hwe->ib1 |= FIELD_PREP(MTK_FOE_IB1_STATE, MTK_FOE_STATE_UNBIND);
|
||||
dma_wmb();
|
||||
}
|
||||
entry->hash = 0xffff;
|
Loading…
Reference in New Issue
Block a user