On Thu, Nov 29, 2018 at 8:23 AM Christoph Hellwig [off-list ref] wrote:
We can. At least in theory. The problem is that depending on the
crazy mapping from physical and kernel virtual address to dma addresses
these might be pages at pretty random places. Look at fun like
arch/x86/pci/sta2x11-fixup.c for how ugly these mappings could look.
It also means that we might have setup swiotlb on just about every
32-bit architecture, even if it has no real addressing limit except for
the one we imposed.
No. Really. If there's no iotlb, then you just mark that one page
reserved. It simply doesn't get used. It doesn't mean you suddenly
need a swiotlb.
If there *is* a iotlb, none of this should matter, because you'd just
never map anything into that page.
But whatever. It's independent from the patch series under discussion.
Make dma_mapping_error() at least return a real error (eg -EINVAL, or
whatever is the common error), and we can maybe do this later.
Or, better yet, plan on removing the single-page dma mappign entirely
at a later date, and make the issue moot.
Linus
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel