2022-07-11 20:15:32 +00:00
|
|
|
From 391785398f61c85e6b55b1e9edbab94e3ba1b783 Mon Sep 17 00:00:00 2001
|
|
|
|
From: Weijie Gao <weijie.gao@mediatek.com>
|
|
|
|
Date: Fri, 20 May 2022 11:23:31 +0800
|
|
|
|
Subject: [PATCH 17/25] net: mediatek: remap iobase address
|
|
|
|
|
|
|
|
The iobase address from dts node is actually physical address. It's
|
|
|
|
identical to the virtual address in ARM platform. This is ok because this
|
|
|
|
driver was used only by ARM platforms (mt7622/mt7623 ...).
|
|
|
|
|
|
|
|
But now this driver will be used by mt7621 which is a MIPS SoC. For MIPS
|
|
|
|
platform the physical address space is mapped to KSEG0 and KSEG1 and this
|
|
|
|
makes the virtual address apparently not idential to its physical address.
|
|
|
|
|
|
|
|
To solve this issue, this patch replaces dev_read_addr with dev_remap_addr
|
|
|
|
to get the remapped iobase address.
|
|
|
|
|
|
|
|
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
|
|
|
|
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
|
|
|
---
|
|
|
|
drivers/net/mtk_eth.c | 2 +-
|
|
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
|
|
|
|
--- a/drivers/net/mtk_eth.c
|
|
|
|
+++ b/drivers/net/mtk_eth.c
|
2022-07-13 10:28:07 +00:00
|
|
|
@@ -1419,7 +1419,7 @@ static int mtk_eth_of_to_plat(struct ude
|
2022-07-11 20:15:32 +00:00
|
|
|
|
|
|
|
priv->soc = dev_get_driver_data(dev);
|
|
|
|
|
|
|
|
- pdata->iobase = dev_read_addr(dev);
|
|
|
|
+ pdata->iobase = (phys_addr_t)dev_remap_addr(dev);
|
|
|
|
|
|
|
|
/* get corresponding ethsys phandle */
|
|
|
|
ret = dev_read_phandle_with_args(dev, "mediatek,ethsys", NULL, 0, 0,
|