[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <15a0de3a-086a-b30d-0512-02e3bbf69662@arm.com>
Date: Mon, 11 Sep 2023 23:00:18 +0100
From: Robin Murphy <robin.murphy@....com>
To: Jernej Škrabec <jernej.skrabec@...il.com>,
joro@...tes.org, will@...nel.org
Cc: wens@...e.org, samuel@...lland.org, iommu@...ts.linux.dev,
linux-arm-kernel@...ts.infradead.org, linux-sunxi@...ts.linux.dev,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] iommu/sun50i: Allow page sizes between 4K and 1M
On 2023-09-11 20:29, Jernej Škrabec wrote:
> On Monday, September 11, 2023 9:06:12 PM CEST Robin Murphy wrote:
>> On 2023-09-11 20:02, Jernej Skrabec wrote:
>>> While peripheral supports only 4K page sizes, we can easily emulate
>>> support for bigger page sizes, up to 1M. This is done by making multiple
>>> entries in map function or clearing multiple entries in unmap.
>>
>> No, it's done by converting over to the {map,unmap}_pages ops. There's
>> no need to resurrect this horrible bodge.
>
> Missed those, thanks! In any case, logic to implement those isn't that
> different than here.
Indeed, if anything it should be even simpler since you don't need to
worry about specific sizes at all - any tricky boundary you don't want
to iterate through, just return short at that point and let the core
call you back again with the remainder.
(In fact this reminds me one of the low-priority cleanup jobs
outstanding was to trivially convert all the remaining drivers and
retire the old interfaces altogether)
Cheers,
Robin.
Powered by blists - more mailing lists