Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp880394ybl; Wed, 21 Aug 2019 06:59:44 -0700 (PDT) X-Google-Smtp-Source: APXvYqzB+Z8EAqx2UzMxxjFqOA8+EbUEx9IMUBRYKvB0sYLqyoDaQW2n2rkzK9L+9MdO9Lh1pO0o X-Received: by 2002:a17:902:166:: with SMTP id 93mr34429547plb.195.1566395984539; Wed, 21 Aug 2019 06:59:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566395984; cv=none; d=google.com; s=arc-20160816; b=C4aVDS4P1KHO2J4XB9F8Zy3GdL7GGzpgCg2MuJ8ktcx5fAdDLsd618q4E5iA54HhyR fdmw5DFdj5hrG6DnmWhJP+iEFWxGNVlxVziIzaBOH4Wd/jp9t2PQ7J/RaUn6mAZ4DhzA SmFOYUjVcHp2RhBRFbu8VIcFgNw+tYcmtAgUuQilNVJwpsQyB5qu0t0HW34mBghcAKH1 ru6kkX91Zj1EHvnyGcJRHdt35SM3aFH/VlFG2HSOibu5sxKaVZ4KXLxhsj+2MhysE2yH qvn2pJRCt5YWxTdlKP+vThITH741RW+hNq29XTdGLjzP3jUhCW7gA7KWMNfbaTquONJf nH4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from; bh=YAUWH4KHzUZLgXDBkLmIoBvgcPnoWQ0Cf5a635HW5HQ=; b=iAxpOfmU9SmNzlSQg1eYGiUdj7fNNr9rfVA/haXRz0687ir8hC6FKeDMTrAJjyQMcR fWGLP/bVzQO9bopkU4hBcZNYqbfhHX/sOQ/uKrmDSW4hzF2z15qTlp8m4KxgFV9BVSiK Fyuiig/yjTK9oxMrDGFiX14v0l5xYvUi3IXJNI7KmwEttqzRa+qeYkDoaAZALQBSMi0n Pimw5yhI6IEk3xslf4PXPS3NOSRyHC1Uu72CntGYiY3hKk7s4Rk9WEkkUPPVJzPmnIjG bKRYRXpEpAAY/uz8Knk6g7FMwHu3dd+LkJep26JiCdpIPaE0XScaHyMmXFgiccOnjLTN bCWg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h27si14538462pgh.388.2019.08.21.06.59.28; Wed, 21 Aug 2019 06:59:44 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729070AbfHUN5m (ORCPT + 99 others); Wed, 21 Aug 2019 09:57:42 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:52991 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1728608AbfHUN5l (ORCPT ); Wed, 21 Aug 2019 09:57:41 -0400 X-UUID: 0330541a26c74eb5adb9b69c85c89ac0-20190821 X-UUID: 0330541a26c74eb5adb9b69c85c89ac0-20190821 Received: from mtkcas07.mediatek.inc [(172.21.101.84)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0707 with TLS) with ESMTP id 426219203; Wed, 21 Aug 2019 21:57:31 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs07n2.mediatek.inc (172.21.101.141) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Wed, 21 Aug 2019 21:57:31 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Wed, 21 Aug 2019 21:57:30 +0800 From: Yong Wu To: Joerg Roedel , Matthias Brugger , Robin Murphy , Will Deacon CC: Rob Herring , Evan Green , Tomasz Figa , , , , , , , , , Nicolas Boichat , , Matthias Kaehlcke , , , Subject: [PATCH v10 22/23] memory: mtk-smi: Get rid of need_larbid Date: Wed, 21 Aug 2019 21:53:25 +0800 Message-ID: <1566395606-7975-23-git-send-email-yong.wu@mediatek.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1566395606-7975-1-git-send-email-yong.wu@mediatek.com> References: <1566395606-7975-1-git-send-email-yong.wu@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The "mediatek,larb-id" has already been parsed in MTK IOMMU driver. It's no need to parse it again in SMI driver. Only clean some codes. This patch is fit for all the current mt2701, mt2712, mt7623, mt8173 and mt8183. After this patch, the "mediatek,larb-id" only be needed for mt2712 which have 2 M4Us. In the other SoCs, we can get the larb-id from M4U in which the larbs in the "mediatek,larbs" always are ordered. Correspondingly, the larb_nr in the "struct mtk_smi_iommu" could also be deleted. CC: Matthias Brugger Signed-off-by: Yong Wu Reviewed-by: Evan Green Reviewed-by: Matthias Brugger --- drivers/iommu/mtk_iommu.c | 1 - drivers/iommu/mtk_iommu_v1.c | 2 -- drivers/memory/mtk-smi.c | 26 ++------------------------ include/soc/mediatek/smi.h | 1 - 4 files changed, 2 insertions(+), 28 deletions(-) diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c index 5d5341c..cc81de2 100644 --- a/drivers/iommu/mtk_iommu.c +++ b/drivers/iommu/mtk_iommu.c @@ -656,7 +656,6 @@ static int mtk_iommu_probe(struct platform_device *pdev) "mediatek,larbs", NULL); if (larb_nr < 0) return larb_nr; - data->smi_imu.larb_nr = larb_nr; for (i = 0; i < larb_nr; i++) { struct device_node *larbnode; diff --git a/drivers/iommu/mtk_iommu_v1.c b/drivers/iommu/mtk_iommu_v1.c index abeeac4..3922358 100644 --- a/drivers/iommu/mtk_iommu_v1.c +++ b/drivers/iommu/mtk_iommu_v1.c @@ -616,8 +616,6 @@ static int mtk_iommu_probe(struct platform_device *pdev) larb_nr++; } - data->smi_imu.larb_nr = larb_nr; - platform_set_drvdata(pdev, data); ret = mtk_iommu_hw_init(data); diff --git a/drivers/memory/mtk-smi.c b/drivers/memory/mtk-smi.c index 289e595..d6dc62f 100644 --- a/drivers/memory/mtk-smi.c +++ b/drivers/memory/mtk-smi.c @@ -59,7 +59,6 @@ struct mtk_smi_common_plat { }; struct mtk_smi_larb_gen { - bool need_larbid; int port_in_larb[MTK_LARB_NR_MAX + 1]; void (*config_port)(struct device *); unsigned int larb_direct_to_common_mask; @@ -147,18 +146,9 @@ void mtk_smi_larb_put(struct device *larbdev) struct mtk_smi_iommu *smi_iommu = data; unsigned int i; - if (larb->larb_gen->need_larbid) { - larb->mmu = &smi_iommu->larb_imu[larb->larbid].mmu; - return 0; - } - - /* - * If there is no larbid property, Loop to find the corresponding - * iommu information. - */ - for (i = 0; i < smi_iommu->larb_nr; i++) { + for (i = 0; i < MTK_LARB_NR_MAX; i++) { if (dev == smi_iommu->larb_imu[i].dev) { - /* The 'mmu' may be updated in iommu-attach/detach. */ + larb->larbid = i; larb->mmu = &smi_iommu->larb_imu[i].mmu; return 0; } @@ -237,7 +227,6 @@ static void mtk_smi_larb_config_port_gen1(struct device *dev) }; static const struct mtk_smi_larb_gen mtk_smi_larb_mt2701 = { - .need_larbid = true, .port_in_larb = { LARB0_PORT_OFFSET, LARB1_PORT_OFFSET, LARB2_PORT_OFFSET, LARB3_PORT_OFFSET @@ -246,7 +235,6 @@ static void mtk_smi_larb_config_port_gen1(struct device *dev) }; static const struct mtk_smi_larb_gen mtk_smi_larb_mt2712 = { - .need_larbid = true, .config_port = mtk_smi_larb_config_port_gen2_general, .larb_direct_to_common_mask = BIT(8) | BIT(9), /* bdpsys */ }; @@ -285,7 +273,6 @@ static int mtk_smi_larb_probe(struct platform_device *pdev) struct device *dev = &pdev->dev; struct device_node *smi_node; struct platform_device *smi_pdev; - int err; larb = devm_kzalloc(dev, sizeof(*larb), GFP_KERNEL); if (!larb) @@ -315,15 +302,6 @@ static int mtk_smi_larb_probe(struct platform_device *pdev) } larb->smi.dev = dev; - if (larb->larb_gen->need_larbid) { - err = of_property_read_u32(dev->of_node, "mediatek,larb-id", - &larb->larbid); - if (err) { - dev_err(dev, "missing larbid property\n"); - return err; - } - } - smi_node = of_parse_phandle(dev->of_node, "mediatek,smi", 0); if (!smi_node) return -EINVAL; diff --git a/include/soc/mediatek/smi.h b/include/soc/mediatek/smi.h index 79b74ce..6f0b00c 100644 --- a/include/soc/mediatek/smi.h +++ b/include/soc/mediatek/smi.h @@ -21,7 +21,6 @@ struct mtk_smi_larb_iommu { }; struct mtk_smi_iommu { - unsigned int larb_nr; struct mtk_smi_larb_iommu larb_imu[MTK_LARB_NR_MAX]; }; -- 1.9.1