From 76fe45ab4f08249b0658f050134a6e2576fba162 Mon Sep 17 00:00:00 2001 From: Bhadram Varka Date: Tue, 24 Aug 2021 14:40:02 +0530 Subject: [PATCH] nvethernet: Get HV window base from DT Issue: SID needs to be programmed through HV window to get it reflected in controller register space. Currently its programmed through RM window. Fix: Get HV window base address from DT. Bug 3358505 Bug 200761024 Change-Id: Ia878e1d4e7f81e4c6531de00b87a1804238dde9e Signed-off-by: Bhadram Varka Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2582063 Reviewed-by: svcacv Reviewed-by: svc_kernel_abi Reviewed-by: Narayan Reddy Reviewed-by: Bibek Basu Reviewed-by: Bitan Biswas Reviewed-by: mobile promotions Tested-by: mobile promotions GVS: Gerrit_Virtual_Submit --- .../net/ethernet/nvidia/nvethernet/ether_linux.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c b/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c index ebae3084..47c435a7 100644 --- a/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c +++ b/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c @@ -5046,6 +5046,19 @@ static int ether_init_plat_resources(struct platform_device *pdev, return PTR_ERR(osi_core->base); } + res = platform_get_resource_byname(pdev, IORESOURCE_MEM, + "hv-base"); + if (res) { + osi_core->hv_base = devm_ioremap_resource(&pdev->dev, res); + if (IS_ERR(osi_core->hv_base)) { + dev_err(&pdev->dev, "failed to ioremap HV address\n"); + return PTR_ERR(osi_core->hv_base); + } + } else { + osi_core->hv_base = NULL; + dev_dbg(&pdev->dev, "HV base address is not present\n"); + } + res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dma_base"); if (res) {