From mboxrd@z Thu Jan 1 00:00:00 1970 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id F3F18C433EF for ; Wed, 6 Apr 2022 15:55:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Yd6YQX+rDtHfwHEo1RZPQ0Y2tGl0H93QpftDLc5IKe0=; b=oB2Awk3+Uz/u2q L5/h85aSdRuwP/QXc6K6O8qh18VJNBLBt69Hts0A8eYVYFasP92exbF49tThiAndCtALilDL6Pwq2 tyFCqZq9IO0mu99+kBBBChJaEaoFw4Ab61xUbzS1ycrSWJaudalCJEldnfj1IbfQ24C/2lP9H3MZ+ 2+DUcWDWCsELNkmbKjFHPstz+d9khgDTGmkhG0rpUsjfIWWyOWNiqk0p7ZhlpkedhrLVGO83ngvkQ WBOIuCaQI1ZN5wRwQmk3+DWN4kkAG+Bz28KXw8GuazPqKJo1NnBVc+4fhsy6GGnJqvKwcy9a7ToIS DC/aR3ph2qOuQ4KZapZw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nc7z5-006zbo-NP; Wed, 06 Apr 2022 15:54:15 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nc7z2-006zak-S9 for linux-arm-kernel@lists.infradead.org; Wed, 06 Apr 2022 15:54:14 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id E47F712FC; Wed, 6 Apr 2022 08:54:11 -0700 (PDT) Received: from lpieralisi (unknown [10.57.21.160]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C11083F73B; Wed, 6 Apr 2022 08:54:09 -0700 (PDT) Date: Wed, 6 Apr 2022 16:54:10 +0100 From: Lorenzo Pieralisi To: Shameer Kolothum Cc: linux-arm-kernel@lists.infradead.org, linux-acpi@vger.kernel.org, iommu@lists.linux-foundation.org, linuxarm@huawei.com, joro@8bytes.org, robin.murphy@arm.com, will@kernel.org, wanghuiqiang@huawei.com, guohanjun@huawei.com, steven.price@arm.com, Sami.Mujawar@arm.com, jon@solid-run.com, eric.auger@redhat.com, laurentiu.tudor@nxp.com, yangyicong@huawei.com Subject: Re: [PATCH v9 04/11] ACPI/IORT: Provide a generic helper to retrieve reserve regions Message-ID: <20220406155410.GE27518@lpieralisi> References: <20220404124209.1086-1-shameerali.kolothum.thodi@huawei.com> <20220404124209.1086-5-shameerali.kolothum.thodi@huawei.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20220404124209.1086-5-shameerali.kolothum.thodi@huawei.com> User-Agent: Mutt/1.9.4 (2018-02-28) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220406_085413_079261_685446C2 X-CRM114-Status: GOOD ( 20.82 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Mon, Apr 04, 2022 at 01:42:02PM +0100, Shameer Kolothum wrote: > Currently IORT provides a helper to retrieve HW MSI reserve regions. > Change this to a generic helper to retrieve=A0any IORT related reserve > regions. This will be useful when we=A0add support for RMR nodes in > subsequent patches. > = > Signed-off-by: Shameer Kolothum > --- > drivers/acpi/arm64/iort.c | 23 +++++++++++++++-------- > drivers/iommu/dma-iommu.c | 2 +- > include/linux/acpi_iort.h | 4 ++-- > 3 files changed, 18 insertions(+), 11 deletions(-) Reviewed-by: Lorenzo Pieralisi # for ACPI IORT > diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c > index c5ebb2be9a19..63acc3c5b275 100644 > --- a/drivers/acpi/arm64/iort.c > +++ b/drivers/acpi/arm64/iort.c > @@ -830,16 +830,13 @@ static struct acpi_iort_node *iort_get_msi_resv_iom= mu(struct device *dev) > return NULL; > } > = > -/** > - * iort_iommu_msi_get_resv_regions - Reserved region driver helper > - * for HW MSI regions. > - * @dev: Device from iommu_get_resv_regions() > - * @head: Reserved region list from iommu_get_resv_regions() > - * > +/* > + * Retrieve platform specific HW MSI reserve regions. > * The ITS interrupt translation spaces (ITS_base + SZ_64K, SZ_64K) > * associated with the device are the HW MSI reserved regions. > */ > -void iort_iommu_msi_get_resv_regions(struct device *dev, struct list_hea= d *head) > +static void > +iort_iommu_msi_get_resv_regions(struct device *dev, struct list_head *he= ad) > { > struct iommu_fwspec *fwspec =3D dev_iommu_fwspec_get(dev); > struct acpi_iort_its_group *its; > @@ -888,6 +885,16 @@ void iort_iommu_msi_get_resv_regions(struct device *= dev, struct list_head *head) > } > } > = > +/** > + * iort_iommu_get_resv_regions - Generic helper to retrieve reserved reg= ions. > + * @dev: Device from iommu_get_resv_regions() > + * @head: Reserved region list from iommu_get_resv_regions() > + */ > +void iort_iommu_get_resv_regions(struct device *dev, struct list_head *h= ead) > +{ > + iort_iommu_msi_get_resv_regions(dev, head); > +} > + > static inline bool iort_iommu_driver_enabled(u8 type) > { > switch (type) { > @@ -1052,7 +1059,7 @@ int iort_iommu_configure_id(struct device *dev, con= st u32 *id_in) > } > = > #else > -void iort_iommu_msi_get_resv_regions(struct device *dev, struct list_hea= d *head) > +void iort_iommu_get_resv_regions(struct device *dev, struct list_head *h= ead) > { } > int iort_iommu_configure_id(struct device *dev, const u32 *input_id) > { return -ENODEV; } > diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c > index 09f6e1c0f9c0..93d76b666888 100644 > --- a/drivers/iommu/dma-iommu.c > +++ b/drivers/iommu/dma-iommu.c > @@ -384,7 +384,7 @@ void iommu_dma_get_resv_regions(struct device *dev, s= truct list_head *list) > { > = > if (!is_of_node(dev_iommu_fwspec_get(dev)->iommu_fwnode)) > - iort_iommu_msi_get_resv_regions(dev, list); > + iort_iommu_get_resv_regions(dev, list); > = > } > EXPORT_SYMBOL(iommu_dma_get_resv_regions); > diff --git a/include/linux/acpi_iort.h b/include/linux/acpi_iort.h > index a8198b83753d..e5d2de9caf7f 100644 > --- a/include/linux/acpi_iort.h > +++ b/include/linux/acpi_iort.h > @@ -36,7 +36,7 @@ int iort_pmsi_get_dev_id(struct device *dev, u32 *dev_i= d); > /* IOMMU interface */ > int iort_dma_get_ranges(struct device *dev, u64 *size); > int iort_iommu_configure_id(struct device *dev, const u32 *id_in); > -void iort_iommu_msi_get_resv_regions(struct device *dev, struct list_hea= d *head); > +void iort_iommu_get_resv_regions(struct device *dev, struct list_head *h= ead); > phys_addr_t acpi_iort_dma_get_max_cpu_address(void); > #else > static inline void acpi_iort_init(void) { } > @@ -52,7 +52,7 @@ static inline int iort_dma_get_ranges(struct device *de= v, u64 *size) > static inline int iort_iommu_configure_id(struct device *dev, const u32 = *id_in) > { return -ENODEV; } > static inline > -void iort_iommu_msi_get_resv_regions(struct device *dev, struct list_hea= d *head) > +void iort_iommu_get_resv_regions(struct device *dev, struct list_head *h= ead) > { } > = > static inline phys_addr_t acpi_iort_dma_get_max_cpu_address(void) > -- = > 2.25.1 > = _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel