1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- From 0dcbe607cec32ccae23b02a641b8bd6191a328ae Mon Sep 17 00:00:00 2001
- Message-Id: <0dcbe607cec32ccae23b02a641b8bd6191a328ae.1662243796.git.lorenzo@kernel.org>
- In-Reply-To: <43a21841ce0175d29f23c34a65ceaaf9dd7eb8b7.1662243796.git.lorenzo@kernel.org>
- References: <43a21841ce0175d29f23c34a65ceaaf9dd7eb8b7.1662243796.git.lorenzo@kernel.org>
- From: Lorenzo Bianconi <[email protected]>
- Date: Tue, 23 Aug 2022 23:09:05 +0200
- Subject: [PATCH net-next 2/4] net: ethernet: mtk_eth_soc: move wdma_base
- definitions in mtk register map
- This is a preliminary patch to introduce mt7986 wed support.
- Signed-off-by: Lorenzo Bianconi <[email protected]>
- ---
- drivers/net/ethernet/mediatek/mtk_eth_soc.c | 16 ++++++++++------
- drivers/net/ethernet/mediatek/mtk_eth_soc.h | 4 +---
- 2 files changed, 11 insertions(+), 9 deletions(-)
- --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
- +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
- @@ -75,6 +75,10 @@ static const struct mtk_reg_map mtk_reg_
- .gdm1_cnt = 0x2400,
- .gdma_to_ppe0 = 0x4444,
- .ppe_base = 0x0c00,
- + .wdma_base = {
- + [0] = 0x2800,
- + [1] = 0x2c00,
- + },
- };
-
- static const struct mtk_reg_map mt7628_reg_map = {
- @@ -130,6 +134,10 @@ static const struct mtk_reg_map mt7986_r
- .gdm1_cnt = 0x1c00,
- .gdma_to_ppe0 = 0x3333,
- .ppe_base = 0x2000,
- + .wdma_base = {
- + [0] = 0x4800,
- + [1] = 0x4c00,
- + },
- };
-
- /* strings used by ethtool */
- @@ -3963,16 +3971,12 @@ static int mtk_probe(struct platform_dev
- for (i = 0;; i++) {
- struct device_node *np = of_parse_phandle(pdev->dev.of_node,
- "mediatek,wed", i);
- - static const u32 wdma_regs[] = {
- - MTK_WDMA0_BASE,
- - MTK_WDMA1_BASE
- - };
- void __iomem *wdma;
-
- - if (!np || i >= ARRAY_SIZE(wdma_regs))
- + if (!np || i >= ARRAY_SIZE(eth->soc->reg_map->wdma_base))
- break;
-
- - wdma = eth->base + wdma_regs[i];
- + wdma = eth->base + eth->soc->reg_map->wdma_base[i];
- mtk_wed_add_hw(np, eth, wdma, i);
- }
-
- --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
- +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
- @@ -268,9 +268,6 @@
- #define TX_DMA_FPORT_MASK_V2 0xf
- #define TX_DMA_SWC_V2 BIT(30)
-
- -#define MTK_WDMA0_BASE 0x2800
- -#define MTK_WDMA1_BASE 0x2c00
- -
- /* QDMA descriptor txd4 */
- #define TX_DMA_CHKSUM (0x7 << 29)
- #define TX_DMA_TSO BIT(28)
- @@ -954,6 +951,7 @@ struct mtk_reg_map {
- u32 gdm1_cnt;
- u32 gdma_to_ppe0;
- u32 ppe_base;
- + u32 wdma_base[2];
- };
-
- /* struct mtk_eth_data - This is the structure holding all differences
|