2019-04-09 14:00:37

by Christoph Hellwig

[permalink] [raw]
Subject: per-device dma_map_ops for intel-iommu?

Hi David and Joerg,

do you remember a good reason why intel-iommu is not using per-device
dma_map_ops like the AMD iommu or the various ARM iommus?

Right now intel-iommu.c contains a half-asses reimplementation of the
dma direct code for the iommu_no_mapping() case, and it would seem
much nicer to just fall back to that case and not even call into
intel-iommu in that case.


2019-04-09 14:06:02

by David Woodhouse

[permalink] [raw]
Subject: Re: per-device dma_map_ops for intel-iommu?

On Tue, 2019-04-09 at 15:59 +0200, Christoph Hellwig wrote:
> Hi David and Joerg,
>
> do you remember a good reason why intel-iommu is not using per-device
> dma_map_ops like the AMD iommu or the various ARM iommus?
>
> Right now intel-iommu.c contains a half-asses reimplementation of the
> dma direct code for the iommu_no_mapping() case, and it would seem
> much nicer to just fall back to that case and not even call into
> intel-iommu in that case.

Other than the complexities about passthrough mode and various "oh shit
we forgot to actually test that iommu+gfx actually works before
shipping hardware" type of quirks that bypass the IOMMU for certain
devices — and retpolines, which I think you already dealt with — no, no
good reason that I recall.


Attachments:
smime.p7s (5.05 kB)

2019-04-11 14:00:16

by Joerg Roedel

[permalink] [raw]
Subject: Re: per-device dma_map_ops for intel-iommu?

On Tue, Apr 09, 2019 at 05:03:52PM +0300, David Woodhouse wrote:
> On Tue, 2019-04-09 at 15:59 +0200, Christoph Hellwig wrote:
> > Hi David and Joerg,
> >
> > do you remember a good reason why intel-iommu is not using per-device
> > dma_map_ops like the AMD iommu or the various ARM iommus?
> >
> > Right now intel-iommu.c contains a half-asses reimplementation of the
> > dma direct code for the iommu_no_mapping() case, and it would seem
> > much nicer to just fall back to that case and not even call into
> > intel-iommu in that case.
>
> Other than the complexities about passthrough mode and various "oh shit
> we forgot to actually test that iommu+gfx actually works before
> shipping hardware" type of quirks that bypass the IOMMU for certain
> devices — and retpolines, which I think you already dealt with — no, no
> good reason that I recall.

Same here, I looked into this in the past as well, but I can't recall
any reason this was left in place.


Joerg