Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.81 Removed upstreamed: ramips/patches-6.12/100-mips-ralink-update-CPU-clock-index.patch[1] airoha/patches-6.12/135-v7.1-net-airoha-Add-missing-cleanup-bits-in-airoha_qdma_c.patch[2] Manually rebased: airoha/patches-6.12/048-01-v6.15-net-airoha-Move-airoha_eth-driver-in-a-dedicated-fol.patch All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.81&id=e8fd60338545f4bc9c23d3d4686c88324aa76fb8 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.81&id=cce5027f9dc3a333ccbcd59a2c3ab2906bd08d30 Signed-off-by: John Audia <therealgraysky@proton.me> Link: https://github.com/openwrt/openwrt/pull/22913 [Modify airoha move patch] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
58 lines
2.0 KiB
Diff
58 lines
2.0 KiB
Diff
From 09aa788f98da3e2f41ce158cc691d6d52e808bc9 Mon Sep 17 00:00:00 2001
|
|
From: Lorenzo Bianconi <lorenzo@kernel.org>
|
|
Date: Wed, 21 May 2025 09:16:37 +0200
|
|
Subject: [PATCH 1/3] net: airoha: Do not store hfwd references in airoha_qdma
|
|
struct
|
|
|
|
Since hfwd descriptor and buffer queues are allocated via
|
|
dmam_alloc_coherent() we do not need to store their references
|
|
in airoha_qdma struct. This patch does not introduce any logical changes,
|
|
just code clean-up.
|
|
|
|
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
|
|
Reviewed-by: Simon Horman <horms@kernel.org>
|
|
Link: https://patch.msgid.link/20250521-airopha-desc-sram-v3-2-a6e9b085b4f0@kernel.org
|
|
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|
---
|
|
drivers/net/ethernet/airoha/airoha_eth.c | 8 ++------
|
|
drivers/net/ethernet/airoha/airoha_eth.h | 6 ------
|
|
2 files changed, 2 insertions(+), 12 deletions(-)
|
|
|
|
--- a/drivers/net/ethernet/airoha/airoha_eth.c
|
|
+++ b/drivers/net/ethernet/airoha/airoha_eth.c
|
|
@@ -1093,17 +1093,13 @@ static int airoha_qdma_init_hfwd_queues(
|
|
int size;
|
|
|
|
size = HW_DSCP_NUM * sizeof(struct airoha_qdma_fwd_desc);
|
|
- qdma->hfwd.desc = dmam_alloc_coherent(eth->dev, size, &dma_addr,
|
|
- GFP_KERNEL);
|
|
- if (!qdma->hfwd.desc)
|
|
+ if (!dmam_alloc_coherent(eth->dev, size, &dma_addr, GFP_KERNEL))
|
|
return -ENOMEM;
|
|
|
|
airoha_qdma_wr(qdma, REG_FWD_DSCP_BASE, dma_addr);
|
|
|
|
size = AIROHA_MAX_PACKET_SIZE * HW_DSCP_NUM;
|
|
- qdma->hfwd.q = dmam_alloc_coherent(eth->dev, size, &dma_addr,
|
|
- GFP_KERNEL);
|
|
- if (!qdma->hfwd.q)
|
|
+ if (!dmam_alloc_coherent(eth->dev, size, &dma_addr, GFP_KERNEL))
|
|
return -ENOMEM;
|
|
|
|
airoha_qdma_wr(qdma, REG_FWD_BUF_BASE, dma_addr);
|
|
--- a/drivers/net/ethernet/airoha/airoha_eth.h
|
|
+++ b/drivers/net/ethernet/airoha/airoha_eth.h
|
|
@@ -513,12 +513,6 @@ struct airoha_qdma {
|
|
|
|
struct airoha_queue q_tx[AIROHA_NUM_TX_RING];
|
|
struct airoha_queue q_rx[AIROHA_NUM_RX_RING];
|
|
-
|
|
- /* descriptor and packet buffers for qdma hw forward */
|
|
- struct {
|
|
- void *desc;
|
|
- void *q;
|
|
- } hfwd;
|
|
};
|
|
|
|
struct airoha_gdm_port {
|