mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2025-11-02 07:01:20 +00:00
Backport upstream patch for AN7583 Ethernet support. While at it also backport some additional fixes required to apply the AN7583 patches cleanly. Refresh all affected patch automatically (aside from the XSI patch that changed the implementation) Link: https://github.com/openwrt/openwrt/pull/20489 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
44 lines
1.4 KiB
Diff
44 lines
1.4 KiB
Diff
From 6d5b601d52a27aafff555b480e538507901c672c Mon Sep 17 00:00:00 2001
|
|
From: Lorenzo Bianconi <lorenzo@kernel.org>
|
|
Date: Fri, 17 Oct 2025 11:06:11 +0200
|
|
Subject: [PATCH 01/12] net: airoha: ppe: Dynamically allocate foe_check_time
|
|
array in airoha_ppe struct
|
|
|
|
This is a preliminary patch to properly enable PPE support for AN7583
|
|
SoC.
|
|
|
|
Reviewed-by: Simon Horman <horms@kernel.org>
|
|
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
|
|
Link: https://patch.msgid.link/20251017-an7583-eth-support-v3-2-f28319666667@kernel.org
|
|
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|
---
|
|
drivers/net/ethernet/airoha/airoha_eth.h | 2 +-
|
|
drivers/net/ethernet/airoha/airoha_ppe.c | 5 +++++
|
|
2 files changed, 6 insertions(+), 1 deletion(-)
|
|
|
|
--- a/drivers/net/ethernet/airoha/airoha_eth.h
|
|
+++ b/drivers/net/ethernet/airoha/airoha_eth.h
|
|
@@ -554,7 +554,7 @@ struct airoha_ppe {
|
|
struct rhashtable l2_flows;
|
|
|
|
struct hlist_head *foe_flow;
|
|
- u16 foe_check_time[PPE_NUM_ENTRIES];
|
|
+ u16 *foe_check_time;
|
|
|
|
struct airoha_foe_stats *foe_stats;
|
|
dma_addr_t foe_stats_dma;
|
|
--- a/drivers/net/ethernet/airoha/airoha_ppe.c
|
|
+++ b/drivers/net/ethernet/airoha/airoha_ppe.c
|
|
@@ -1440,6 +1440,11 @@ int airoha_ppe_init(struct airoha_eth *e
|
|
return -ENOMEM;
|
|
}
|
|
|
|
+ ppe->foe_check_time = devm_kzalloc(eth->dev, PPE_NUM_ENTRIES,
|
|
+ GFP_KERNEL);
|
|
+ if (!ppe->foe_check_time)
|
|
+ return -ENOMEM;
|
|
+
|
|
err = rhashtable_init(ð->flow_table, &airoha_flow_table_params);
|
|
if (err)
|
|
return err;
|