From nobody Sun Sep 22 07:45:15 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 79058C433F5 for ; Thu, 7 Apr 2022 08:03:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242763AbiDGIFN (ORCPT ); Thu, 7 Apr 2022 04:05:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48454 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242698AbiDGIEf (ORCPT ); Thu, 7 Apr 2022 04:04:35 -0400 Received: from mailgw02.mediatek.com (unknown [210.61.82.184]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0326715B9BA; Thu, 7 Apr 2022 01:01:57 -0700 (PDT) X-UUID: a6c530beb8144bac8d9ea07398fb2cbd-20220407 X-UUID: a6c530beb8144bac8d9ea07398fb2cbd-20220407 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 1232438339; Thu, 07 Apr 2022 16:01:51 +0800 Received: from mtkcas11.mediatek.inc (172.21.101.40) 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; Thu, 7 Apr 2022 16:01:50 +0800 Received: from localhost.localdomain (10.17.3.154) by mtkcas11.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Thu, 7 Apr 2022 16:01:47 +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 v6 30/34] iommu/mediatek: Change the domid to iova_region_id Date: Thu, 7 Apr 2022 15:57:22 +0800 Message-ID: <20220407075726.17771-31-yong.wu@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20220407075726.17771-1-yong.wu@mediatek.com> References: <20220407075726.17771-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 9c27b99ca0cd..0828cff97625 100644 --- a/drivers/iommu/mtk_iommu.c +++ b/drivers/iommu/mtk_iommu.c @@ -467,8 +467,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; @@ -498,7 +498,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; @@ -514,12 +514,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); @@ -545,7 +545,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; @@ -584,7 +584,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; @@ -620,18 +620,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; @@ -662,7 +662,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 err_unlock: mutex_unlock(&data->mutex); @@ -802,22 +802,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); } @@ -851,14 +851,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