[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1846cf2b-b988-be6d-368d-7991c0bdbe5e@redhat.com>
Date: Mon, 14 Nov 2016 17:57:35 +0100
From: Auger Eric <eric.auger@...hat.com>
To: Joerg Roedel <joro@...tes.org>
Cc: drjones@...hat.com, alex.williamson@...hat.com,
jason@...edaemon.net, kvm@...r.kernel.org, marc.zyngier@....com,
punit.agrawal@....com, will.deacon@....com,
linux-kernel@...r.kernel.org, diana.craciun@....com,
iommu@...ts.linux-foundation.org, pranav.sawargaonkar@...il.com,
christoffer.dall@...aro.org, tglx@...utronix.de,
robin.murphy@....com, linux-arm-kernel@...ts.infradead.org,
eric.auger.pro@...il.com
Subject: Re: [RFC v2 8/8] iommu/arm-smmu: implement add_reserved_regions
callback
Hi Joerg,
On 14/11/2016 17:20, Joerg Roedel wrote:
> On Mon, Nov 14, 2016 at 05:08:16PM +0100, Auger Eric wrote:
>> There are potentially several MSI doorbell physical pages in the SOC
>> that are accessed through the IOMMU (translated). Each of those must
>> have a corresponding IOVA and IOVA/PA mapping programmed in the IOMMU.
>> Else MSI will fault.
>>
>> - step 1 was to define a usable IOVA range for MSI mapping. So now we
>> decided the base address and size would be hardcoded for ARM. The
>> get_dm_region can be used to retrieve that hardcoded region.
>> - Step2 is to allocate IOVAs within that range and map then for each of
>> those MSI doorbells. This is done in the MSI controller compose() callback.
>>
>> I hope I succeeded in clarifying this time.
>>
>> Robin sent today a new version of its cookie think using a dummy
>> allocator. I am currently integrating it.
>
> Okay, I understand. A simple bitmap-allocator would probably be
> sufficient, and doesn't have the overhead the iova allocator has. About
> how many pages are we talking here?
Very few actually. In the systems I have access to I only have a single
page. In most advanced systems we could imagine per-cpu doorbells but
this does not exist yet as far as I know.
Thanks
Eric
>
>
> Joerg
>
Powered by blists - more mailing lists