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 X-Spam-Level: X-Spam-Status: No, score=-14.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7797BC47089 for ; Thu, 27 May 2021 04:28:49 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 3CDB861090 for ; Thu, 27 May 2021 04:28:49 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3CDB861090 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=solid-run.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org 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:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=SMsgNrCDGpsamxCnsX91SoMO4traG9IBWE/UArPS0GY=; b=b2ktn8FDzZOsPZ 8mYcaGdggCYaj9wiDQaClZm4X6zjbg3XjhxOK3FJEgH3q5lZAOlz3R96Wgiwqr157VT9u00VRDKBv 8Lze2AzohAb2aDuQ8a661fVQJtODerXg1qyLVSyqNutQiv33a6+oEPdx6Y/ocVQxTBshoQY40b5dv tfuzalIi7Stcv4wMchBTQRfGbIKR2XQhKOAMiepE8d4c8VKbUA2DtXro9hsPrpqs4ja1xX38OTlfg yfV/0wH+RqBtjb/86m3h2E+2xe4QnQG+8YmTH01jLSq5Xa1grgm9bhAhfkCWmhUjObY6HfjXovRPW F5wpTWlaKrO9t3KKXp7g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1lm7bP-002NjU-BU; Thu, 27 May 2021 04:26:35 +0000 Received: from mail-ej1-x62f.google.com ([2a00:1450:4864:20::62f]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1lm7bK-002Ngm-Kc for linux-arm-kernel@lists.infradead.org; Thu, 27 May 2021 04:26:32 +0000 Received: by mail-ej1-x62f.google.com with SMTP id c20so5884680ejm.3 for ; Wed, 26 May 2021 21:26:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=solid-run-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=MuUPMsBblFv1sa2XEzf9FhR5nku7Yzg5FRIozyJMbVs=; b=oJ1RrS93T/Y6l9C/Be0U5byek0L3iZSx6/E+PjohXK+Dv5uJuO8eVhzUpS56Cu4Rxr C08Cn0ETIGdwku0hFEhDGcnBiUfcj6hVZJXx78N03q7cQaLV547HCzm8/7tTVUli9aJC HWn378qDga97k1q+GMZxBZmHRkrU6lox/pb0wnYZgwZCG1s5TVDEzOyJdQQYivkAwlGN t2/YidV7QghniSvTFUIBiAMQi/8UEs7zJ90UskmBvE2pZSGEVCcJqQ5LgkEt+8RNN9t+ obZjJEF2g4vH72lVxTlm7WGemQm2v8+0NIroYYLVRcb/GwcLf8+5AI/eVlpiC9djkhKL 4jwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=MuUPMsBblFv1sa2XEzf9FhR5nku7Yzg5FRIozyJMbVs=; b=g4yMOC2PVv8NTefMhTg1gc9iW6oRXFkqxLkd6mBJBUpgq9rrqZA/uzdQJi+GGu/xfM ih5iUQ6HY7yfDxQFZJxW0skfA8Lj8/a0Q7i1hR3pFC3DxdaDEIoOVsUNmNT/4FYGaiob xVIHYtHyKUcQ2I3uRvf8MSASzQYw5YJYwz+6+l0TBtV1iEY8hC1EeL1kI1ULqHp6n8fd 93Eai0IOUVf4uSq5orvLSIln/1o0uzA5t6eXce4XNSD/PRMjiou7cbzHF+8idTbdYPZ3 BVsMczTI35Bgq2081QC8QVYYvx/VejugOMJqOOPCafIRX1QRBFvVTv1ykzE+ATi+4+XQ ZUpg== X-Gm-Message-State: AOAM533A+6/6+mEwUVuu+ZNHeIMmYawO3xSm3QaNLFCikjpM3coTk02Y XWwyGDqRJowYAlsFbgu/o6ScC2FeW2rdw8iv5MGpcQ== X-Google-Smtp-Source: ABdhPJwLBPm+M32hCgK1/i4GtoIfZcGVvMGzA9iXyPCuW/JYMi8Lqp3Mepx9n6LiB4zDvZG1eZkKf5Y8jqeCKL158Lc= X-Received: by 2002:a17:906:4704:: with SMTP id y4mr1759294ejq.68.1622089587584; Wed, 26 May 2021 21:26:27 -0700 (PDT) MIME-Version: 1.0 References: <20210524110222.2212-1-shameerali.kolothum.thodi@huawei.com> <20210524110222.2212-4-shameerali.kolothum.thodi@huawei.com> <13c2499e-cc0c-d395-0d60-6c3437f206ac@nxp.com> <260859e85c854b90b513599f4febfbad@huawei.com> In-Reply-To: <260859e85c854b90b513599f4febfbad@huawei.com> From: Jon Nettleton Date: Thu, 27 May 2021 06:25:48 +0200 Message-ID: Subject: Re: [PATCH v5 3/8] ACPI/IORT: Add a helper to retrieve RMR memory regions To: Shameerali Kolothum Thodi Cc: Laurentiu Tudor , "linux-arm-kernel@lists.infradead.org" , "linux-acpi@vger.kernel.org" , "iommu@lists.linux-foundation.org" , Linuxarm , "steven.price@arm.com" , "Guohanjun (Hanjun Guo)" , yangyicong , "Sami.Mujawar@arm.com" , "robin.murphy@arm.com" , wanghuiqiang X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210526_212630_750192_1F8493CF X-CRM114-Status: GOOD ( 31.66 ) 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="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Wed, May 26, 2021 at 6:36 PM Shameerali Kolothum Thodi wrote: > > > > > -----Original Message----- > > From: Laurentiu Tudor [mailto:laurentiu.tudor@nxp.com] > > Sent: 26 May 2021 08:53 > > To: Shameerali Kolothum Thodi ; > > linux-arm-kernel@lists.infradead.org; linux-acpi@vger.kernel.org; > > iommu@lists.linux-foundation.org > > Cc: jon@solid-run.com; Linuxarm ; > > steven.price@arm.com; Guohanjun (Hanjun Guo) ; > > yangyicong ; Sami.Mujawar@arm.com; > > robin.murphy@arm.com; wanghuiqiang > > Subject: Re: [PATCH v5 3/8] ACPI/IORT: Add a helper to retrieve RMR memory > > regions > > > > Hi Shameer, > > > > On 5/24/2021 2:02 PM, Shameer Kolothum wrote: > > > Add a helper function that retrieves RMR memory descriptors > > > associated with a given IOMMU. This will be used by IOMMU > > > drivers to setup necessary mappings. > > > > > > Now that we have this, invoke it from the generic helper > > > interface. > > > > > > Signed-off-by: Shameer Kolothum > > > > > --- > > > drivers/acpi/arm64/iort.c | 50 > > +++++++++++++++++++++++++++++++++++++++ > > > drivers/iommu/dma-iommu.c | 4 ++++ > > > include/linux/acpi_iort.h | 7 ++++++ > > > 3 files changed, 61 insertions(+) > > > > > > diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c > > > index fea1ffaedf3b..01917caf58de 100644 > > > --- a/drivers/acpi/arm64/iort.c > > > +++ b/drivers/acpi/arm64/iort.c > > > @@ -12,6 +12,7 @@ > > > > > > #include > > > #include > > > +#include > > > #include > > > #include > > > #include > > > @@ -837,6 +838,53 @@ static inline int iort_add_device_replay(struct > > device *dev) > > > return err; > > > } > > > > > > +/** > > > + * iort_iommu_get_rmrs - Helper to retrieve RMR info associated with > > IOMMU > > > + * @iommu: fwnode for the IOMMU > > > + * @head: RMR list head to be populated > > > + * > > > + * Returns: 0 on success, <0 failure > > > + */ > > > +int iort_iommu_get_rmrs(struct fwnode_handle *iommu_fwnode, > > > + struct list_head *head) > > > +{ > > > + struct iort_rmr_entry *e; > > > + struct acpi_iort_node *iommu; > > > + int rmrs = 0; > > > + > > > + iommu = iort_get_iort_node(iommu_fwnode); > > > + if (!iommu || list_empty(&iort_rmr_list)) > > > + return -ENODEV; > > > + > > > + list_for_each_entry(e, &iort_rmr_list, list) { > > > + int prot = IOMMU_READ | IOMMU_WRITE | IOMMU_NOEXEC | > > IOMMU_MMIO; > > > > We have a case with an IP block that needs EXEC rights on its reserved > > memory, so could you please drop the IOMMU_NOEXEC flag? > > Ok, I think I can drop that one if there are no other concerns. I was not quite > sure what to include here in the first place as the IORT spec is not giving any > further details about the RMR regions(May be the flags field can be extended to > describe these details). We probably need to bring this back up to the ACPI forums. This is probably something that should be attached to the memory range node which does have 4 extra reserved bytes. -Jon > > Thanks, > Shameer > > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel