[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <dff8eb80-8f74-972b-17e9-496c1fc0396f@arm.com>
Date: Fri, 12 Mar 2021 16:18:24 +0000
From: Robin Murphy <robin.murphy@....com>
To: Christoph Hellwig <hch@....de>
Cc: Joerg Roedel <joro@...tes.org>, Will Deacon <will@...nel.org>,
Li Yang <leoyang.li@....com>, freedreno@...ts.freedesktop.org,
kvm@...r.kernel.org, Michael Ellerman <mpe@...erman.id.au>,
linuxppc-dev@...ts.ozlabs.org, dri-devel@...ts.freedesktop.org,
virtualization@...ts.linux-foundation.org,
iommu@...ts.linux-foundation.org, netdev@...r.kernel.org,
linux-arm-msm@...r.kernel.org,
David Woodhouse <dwmw2@...radead.org>,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH 14/17] iommu: remove DOMAIN_ATTR_DMA_USE_FLUSH_QUEUE
On 2021-03-11 08:26, Christoph Hellwig wrote:
> On Wed, Mar 10, 2021 at 06:39:57PM +0000, Robin Murphy wrote:
>>> Actually... Just mirroring the iommu_dma_strict value into
>>> struct iommu_domain should solve all of that with very little
>>> boilerplate code.
>>
>> Yes, my initial thought was to directly replace the attribute with a
>> common flag at iommu_domain level, but since in all cases the behaviour
>> is effectively global rather than actually per-domain, it seemed
>> reasonable to take it a step further. This passes compile-testing for
>> arm64 and x86, what do you think?
>
> It seems to miss a few bits, and also generally seems to be not actually
> apply to recent mainline or something like it due to different empty
> lines in a few places.
Yeah, that was sketched out on top of some other development patches,
and in being so focused on not breaking any of the x86 behaviours I did
indeed overlook fully converting the SMMU drivers... oops!
(my thought was to do the conversion for its own sake, then clean up the
redundant attribute separately, but I guess it's fine either way)
> Let me know what you think of the version here:
>
> http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/iommu-cleanup
>
> I'll happily switch the patch to you as the author if you're fine with
> that as well.
I still have reservations about removing the attribute API entirely and
pretending that io_pgtable_cfg is anything other than a SoC-specific
private interface, but the reworked patch on its own looks reasonable to
me, thanks! (I wasn't too convinced about the iommu_cmd_line wrappers
either...) Just iommu_get_dma_strict() needs an export since the SMMU
drivers can be modular - I consciously didn't add that myself since I
was mistakenly thinking only iommu-dma would call it.
Robin.
Powered by blists - more mailing lists