From nobody Sun Sep 22 11:27:27 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id AA453C433EF for ; Tue, 25 Jan 2022 09:11:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1456346AbiAYJK6 (ORCPT ); Tue, 25 Jan 2022 04:10:58 -0500 Received: from mailgw02.mediatek.com ([210.61.82.184]:35742 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1455223AbiAYJDe (ORCPT ); Tue, 25 Jan 2022 04:03:34 -0500 X-UUID: ee04f8ec20394f688343c76d8eaae186-20220125 X-UUID: ee04f8ec20394f688343c76d8eaae186-20220125 Received: from mtkmbs10n1.mediatek.inc [(172.21.101.34)] by mailgw02.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 389619299; Tue, 25 Jan 2022 17:00:52 +0800 Received: from mtkcas10.mediatek.inc (172.21.101.39) by mtkmbs10n2.mediatek.inc (172.21.101.183) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.792.3; Tue, 25 Jan 2022 17:00:51 +0800 Received: from localhost.localdomain (10.17.3.154) by mtkcas10.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Tue, 25 Jan 2022 17:00:49 +0800 From: Yong Wu To: Joerg Roedel , Rob Herring , "Matthias Brugger" , Will Deacon CC: Robin Murphy , Krzysztof Kozlowski , Tomasz Figa , , , , , , , Hsin-Yi Wang , , , , , , "AngeloGioacchino Del Regno" , , , , Subject: [PATCH v4 31/35] iommu/mediatek: Change the domid to iova_region_id Date: Tue, 25 Jan 2022 16:56:30 +0800 Message-ID: <20220125085634.17972-32-yong.wu@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20220125085634.17972-1-yong.wu@mediatek.com> References: <20220125085634.17972-1-yong.wu@mediatek.com> MIME-Version: 1.0 X-MTK: N Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Prepare for adding bankid, also no functional change. In the previous SoC, each a iova_region is a domain; In the multi-banks case, each a bank is a domain, then the original function name "mtk_iommu_get_domain_id" is not proper. Use "iova_region_id" instead of "domain_id". Signed-off-by: Yong Wu Reviewed-by: AngeloGioacchino Del Regno --- drivers/iommu/mtk_iommu.c | 46 +++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c index c0843c67b5a7..22586d1aed72 100644 --- a/drivers/iommu/mtk_iommu.c +++ b/drivers/iommu/mtk_iommu.c @@ -478,8 +478,8 @@ static irqreturn_t mtk_iommu_isr(int irq, void *dev_id) return IRQ_HANDLED; } =20 -static int mtk_iommu_get_domain_id(struct device *dev, - const struct mtk_iommu_plat_data *plat_data) +static int mtk_iommu_get_iova_region_id(struct device *dev, + const struct mtk_iommu_plat_data *plat_data) { const struct mtk_iommu_iova_region *rgn =3D plat_data->iova_region; const struct bus_dma_region *dma_rgn =3D dev->dma_range_map; @@ -509,7 +509,7 @@ static int mtk_iommu_get_domain_id(struct device *dev, } =20 static int mtk_iommu_config(struct mtk_iommu_data *data, struct device *de= v, - bool enable, unsigned int domid) + bool enable, unsigned int regionid) { struct mtk_smi_larb_iommu *larb_mmu; unsigned int larbid, portid; @@ -525,12 +525,12 @@ static int mtk_iommu_config(struct mtk_iommu_data *da= ta, struct device *dev, if (MTK_IOMMU_IS_TYPE(data->plat_data, MTK_IOMMU_TYPE_MM)) { larb_mmu =3D &data->larb_imu[larbid]; =20 - region =3D data->plat_data->iova_region + domid; + region =3D data->plat_data->iova_region + regionid; larb_mmu->bank[portid] =3D upper_32_bits(region->iova_base); =20 - dev_dbg(dev, "%s iommu for larb(%s) port %d dom %d bank %d.\n", + dev_dbg(dev, "%s iommu for larb(%s) port %d region %d rgn-bank %d.\n", enable ? "enable" : "disable", dev_name(larb_mmu->dev), - portid, domid, larb_mmu->bank[portid]); + portid, regionid, larb_mmu->bank[portid]); =20 if (enable) larb_mmu->mmu |=3D MTK_SMI_MMU_EN(portid); @@ -556,7 +556,7 @@ static int mtk_iommu_config(struct mtk_iommu_data *data= , struct device *dev, =20 static int mtk_iommu_domain_finalise(struct mtk_iommu_domain *dom, struct mtk_iommu_data *data, - unsigned int domid) + unsigned int region_id) { const struct mtk_iommu_iova_region *region; struct mtk_iommu_domain *m4u_dom; @@ -595,7 +595,7 @@ static int mtk_iommu_domain_finalise(struct mtk_iommu_d= omain *dom, =20 update_iova_region: /* Update the iova region for this domain */ - region =3D data->plat_data->iova_region + domid; + region =3D data->plat_data->iova_region + region_id; dom->domain.geometry.aperture_start =3D region->iova_base; dom->domain.geometry.aperture_end =3D region->iova_base + region->size - = 1; dom->domain.geometry.force_aperture =3D true; @@ -631,18 +631,18 @@ static int mtk_iommu_attach_device(struct iommu_domai= n *domain, struct device *m4udev =3D data->dev; struct mtk_iommu_bank_data *bank; unsigned int bankid =3D 0; - int ret, domid; + int ret, region_id; =20 - domid =3D mtk_iommu_get_domain_id(dev, data->plat_data); - if (domid < 0) - return domid; + region_id =3D mtk_iommu_get_iova_region_id(dev, data->plat_data); + if (region_id < 0) + return region_id; =20 mutex_lock(&dom->mutex); if (!dom->bank) { /* Data is in the frstdata in sharing pgtable case. */ frstdata =3D mtk_iommu_get_frst_data(hw_list); =20 - ret =3D mtk_iommu_domain_finalise(dom, frstdata, domid); + ret =3D mtk_iommu_domain_finalise(dom, frstdata, region_id); if (ret) { mutex_unlock(&dom->mutex); return -ENODEV; @@ -673,7 +673,7 @@ static int mtk_iommu_attach_device(struct iommu_domain = *domain, } mutex_unlock(&data->mutex); =20 - return mtk_iommu_config(data, dev, true, domid); + return mtk_iommu_config(data, dev, true, region_id); =20 data_unlock: mutex_unlock(&data->mutex); @@ -778,22 +778,22 @@ static struct iommu_group *mtk_iommu_device_group(str= uct device *dev) struct mtk_iommu_data *c_data =3D dev_iommu_priv_get(dev), *data; struct list_head *hw_list =3D c_data->hw_list; struct iommu_group *group; - int domid; + int regionid; =20 data =3D mtk_iommu_get_frst_data(hw_list); if (!data) return ERR_PTR(-ENODEV); =20 - domid =3D mtk_iommu_get_domain_id(dev, data->plat_data); - if (domid < 0) - return ERR_PTR(domid); + regionid =3D mtk_iommu_get_iova_region_id(dev, data->plat_data); + if (regionid < 0) + return ERR_PTR(regionid); =20 mutex_lock(&data->mutex); - group =3D data->m4u_group[domid]; + group =3D data->m4u_group[regionid]; if (!group) { group =3D iommu_group_alloc(); if (!IS_ERR(group)) - data->m4u_group[domid] =3D group; + data->m4u_group[regionid] =3D group; } else { iommu_group_ref_get(group); } @@ -827,14 +827,14 @@ static void mtk_iommu_get_resv_regions(struct device = *dev, struct list_head *head) { struct mtk_iommu_data *data =3D dev_iommu_priv_get(dev); - unsigned int domid =3D mtk_iommu_get_domain_id(dev, data->plat_data), i; + unsigned int regionid =3D mtk_iommu_get_iova_region_id(dev, data->plat_da= ta), i; const struct mtk_iommu_iova_region *resv, *curdom; struct iommu_resv_region *region; int prot =3D IOMMU_WRITE | IOMMU_READ; =20 - if ((int)domid < 0) + if ((int)regionid < 0) return; - curdom =3D data->plat_data->iova_region + domid; + curdom =3D data->plat_data->iova_region + regionid; for (i =3D 0; i < data->plat_data->iova_region_nr; i++) { resv =3D data->plat_data->iova_region + i; =20 --=20 2.18.0