iommu.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
From: Robin Murphy <robin.murphy@arm.com>
To: Shameerali Kolothum Thodi <shameerali.kolothum.thodi@huawei.com>,
	Jon Nettleton <jon@solid-run.com>
Cc: Linuxarm <linuxarm@huawei.com>,
	Steven Price <steven.price@arm.com>,
	ACPI Devel Maling List <linux-acpi@vger.kernel.org>,
	Linux IOMMU <iommu@lists.linux-foundation.org>,
	wanghuiqiang <wanghuiqiang@huawei.com>,
	"Guohanjun \(Hanjun Guo\)" <guohanjun@huawei.com>,
	yangyicong <yangyicong@huawei.com>,
	Sami Mujawar <Sami.Mujawar@arm.com>,
	Will Deacon <will@kernel.org>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v7 1/9] iommu: Introduce a union to struct iommu_resv_region
Date: Mon, 11 Oct 2021 14:47:14 +0100	[thread overview]
Message-ID: <e3c6befe-7df0-3dc8-3f5a-333c749daf89@arm.com> (raw)
In-Reply-To: <9df40b8f09f6488382f25f419519a2fa@huawei.com>

On 2021-10-11 06:47, Shameerali Kolothum Thodi wrote:
> 
> 
>> -----Original Message-----
>> From: Jon Nettleton [mailto:jon@solid-run.com]
>> Sent: 09 October 2021 07:58
>> To: Robin Murphy <robin.murphy@arm.com>
>> Cc: Shameerali Kolothum Thodi <shameerali.kolothum.thodi@huawei.com>;
>> linux-arm-kernel <linux-arm-kernel@lists.infradead.org>; ACPI Devel Maling
>> List <linux-acpi@vger.kernel.org>; Linux IOMMU
>> <iommu@lists.linux-foundation.org>; Linuxarm <linuxarm@huawei.com>;
>> Steven Price <steven.price@arm.com>; Guohanjun (Hanjun Guo)
>> <guohanjun@huawei.com>; yangyicong <yangyicong@huawei.com>; Sami
>> Mujawar <Sami.Mujawar@arm.com>; Will Deacon <will@kernel.org>;
>> wanghuiqiang <wanghuiqiang@huawei.com>
>> Subject: Re: [PATCH v7 1/9] iommu: Introduce a union to struct
>> iommu_resv_region
>>
>> On Fri, Oct 8, 2021 at 2:14 PM Robin Murphy <robin.murphy@arm.com>
>> wrote:
>>>
>>> On 2021-08-05 09:07, Shameer Kolothum wrote:
>>>> A union is introduced to struct iommu_resv_region to hold any
>>>> firmware specific data. This is in preparation to add support for
>>>> IORT RMR reserve regions and the union now holds the RMR specific
>>>> information.
>>>>
>>>> Signed-off-by: Shameer Kolothum
>>>> <shameerali.kolothum.thodi@huawei.com>
>>>> ---
>>>>    include/linux/iommu.h | 11 +++++++++++
>>>>    1 file changed, 11 insertions(+)
>>>>
>>>> diff --git a/include/linux/iommu.h b/include/linux/iommu.h index
>>>> 32d448050bf7..bd0e4641c569 100644
>>>> --- a/include/linux/iommu.h
>>>> +++ b/include/linux/iommu.h
>>>> @@ -114,6 +114,13 @@ enum iommu_resv_type {
>>>>        IOMMU_RESV_SW_MSI,
>>>>    };
>>>>
>>>> +struct iommu_iort_rmr_data {
>>>> +#define IOMMU_RMR_REMAP_PERMITTED    (1 << 0)
>>>> +     u32 flags;
>>>> +     u32 sid;        /* Stream Id associated with RMR entry */
>>>> +     void *smmu;     /* Associated IORT SMMU node pointer */
>>>> +};
>>>
>>> Do we really need to duplicate all this data? AFAICS we could just
>>> save the acpi_iort_rmr pointer in the iommu_resv_region (with a
>>> forward declaration here if necessary) and defer parsing its actual
>>> mappings until the point where we can directly consume the results.
>>
>>  From earlier discussions on this patchset, the original goal was also for
>> device-tree mechanisms to be able to hook into this code to support similar
>> RMR's and SMMU initialization, just not through the ACPI / IORT path.
> 
> Yes. IIRC, there were some earlier attempts to have DT support for reserved regions
> and there was a suggestion to provide generic interfaces so that when DT solution
> comes up it is easier to add the support.

OK, but in that case why is every single part of it IORT-specific in 
either name, description or function?

Regardless, s/acpi_iort_rmr/original firmware descriptor of whatever 
variety/ and my comment still stands. If a firmware-specific structure 
is still going to exist to begin with, then what do we gain from 
interpreting details earlier than needed and wasting memory storing 
copies of them? This isn't something we're looking up hundreds of times 
per second and need to cache in some more efficient format.

Furthermore, it seems unlikely that the eventual DT solution would end 
up being semantically identical to IORT RMRs, so there's every 
possibility that the One True Abstract Structure would need changing to 
work for another firmware implementation anyway. Heck, it might not even 
fit future IORT if it becomes permissible for multiple StreamIDs to 
share a single RMR descriptor.

Thanks,
Robin.
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

  reply	other threads:[~2021-10-11 13:47 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-05  8:07 [PATCH v7 0/9] ACPI/IORT: Support for IORT RMR node Shameer Kolothum
2021-08-05  8:07 ` [PATCH v7 1/9] iommu: Introduce a union to struct iommu_resv_region Shameer Kolothum
2021-08-20 10:22   ` Steven Price
2021-10-08 12:14   ` Robin Murphy
2021-10-09  6:57     ` Jon Nettleton
2021-10-11  5:47       ` Shameerali Kolothum Thodi
2021-10-11 13:47         ` Robin Murphy [this message]
2021-08-05  8:07 ` [PATCH v7 2/9] ACPI/IORT: Add support for RMR node parsing Shameer Kolothum
2021-08-05 16:03   ` Lorenzo Pieralisi
2021-08-05 16:31     ` Jon Nettleton
2021-08-05 18:37     ` Laurentiu Tudor
2021-09-06 17:44     ` Robin Murphy
2021-09-06 19:51       ` Jon Nettleton
2021-09-16  7:26         ` Shameerali Kolothum Thodi
2021-09-16  7:52           ` Jon Nettleton
2021-09-16  8:26             ` Shameerali Kolothum Thodi
2021-09-16 11:16               ` Jon Nettleton
2021-09-17 11:26                 ` Shameerali Kolothum Thodi
2021-10-05 10:53                   ` Laurentiu Tudor
2021-10-08 12:48   ` Robin Murphy
2021-10-09  7:06     ` Jon Nettleton
2021-10-11 14:04       ` Robin Murphy
2021-10-12  8:00         ` Jon Nettleton
2021-12-08 12:18           ` Lorenzo Pieralisi
2021-12-08 13:26             ` Jon Nettleton
2021-12-08 14:37               ` Robin Murphy
2021-12-08 15:11                 ` Jon Nettleton
2021-10-11  5:59     ` Shameerali Kolothum Thodi
2021-08-05  8:07 ` [PATCH v7 3/9] iommu/dma: Introduce generic helper to retrieve RMR info Shameer Kolothum
2021-10-08 13:03   ` Robin Murphy
2021-10-11  5:51     ` Shameerali Kolothum Thodi
2021-08-05  8:07 ` [PATCH v7 4/9] ACPI/IORT: Add a helper to retrieve RMR memory regions Shameer Kolothum
2021-08-05 15:43   ` Lorenzo Pieralisi
2021-08-05  8:07 ` [PATCH v7 5/9] iommu/arm-smmu-v3: Introduce strtab init helper Shameer Kolothum
2021-08-05  8:07 ` [PATCH v7 6/9] iommu/arm-smmu-v3: Refactor arm_smmu_init_bypass_stes() to force bypass Shameer Kolothum
2021-08-05  8:07 ` [PATCH v7 7/9] iommu/arm-smmu-v3: Get associated RMR info and install bypass STE Shameer Kolothum
2021-08-05  8:07 ` [PATCH v7 8/9] iommu/arm-smmu: Get associated RMR info and install bypass SMR Shameer Kolothum
2021-08-05  8:07 ` [PATCH v7 9/9] iommu/dma: Reserve any RMR regions associated with a dev Shameer Kolothum
2021-10-08 13:09   ` Robin Murphy
2021-10-09  7:07     ` Jon Nettleton
2021-10-11 15:00       ` Robin Murphy
2021-10-11 15:42         ` Shameerali Kolothum Thodi
2021-08-05 13:22 ` [PATCH v7 0/9] ACPI/IORT: Support for IORT RMR node Ard Biesheuvel
2021-08-05 13:35   ` Shameerali Kolothum Thodi
2021-08-05 14:09     ` Ard Biesheuvel
2021-08-31  5:06       ` Jon Nettleton
2021-09-30  9:47 ` Eric Auger
2021-09-30 10:50   ` Shameerali Kolothum Thodi
2022-01-25 13:00 ` Shameerali Kolothum Thodi via iommu
2022-01-25 19:30   ` Robin Murphy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e3c6befe-7df0-3dc8-3f5a-333c749daf89@arm.com \
    --to=robin.murphy@arm.com \
    --cc=Sami.Mujawar@arm.com \
    --cc=guohanjun@huawei.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=jon@solid-run.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linuxarm@huawei.com \
    --cc=shameerali.kolothum.thodi@huawei.com \
    --cc=steven.price@arm.com \
    --cc=wanghuiqiang@huawei.com \
    --cc=will@kernel.org \
    --cc=yangyicong@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).