[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHk-=wi2K7_+dgCbc-sAK9CST5Zh+pOuH7sVT9WW-kqs50HSzQ@mail.gmail.com>
Date: Thu, 29 Nov 2018 09:44:05 -0800
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Christoph Hellwig <hch@....de>
Cc: Russell King - ARM Linux <linux@...linux.org.uk>,
linux-arch@...r.kernel.org, linux-ia64@...r.kernel.org,
linux-parisc@...r.kernel.org, robin.murphy@....com,
"the arch/x86 maintainers" <x86@...nel.org>,
Linux List Kernel Mailing <linux-kernel@...r.kernel.org>,
iommu@...ts.linux-foundation.org, linux-alpha@...r.kernel.org,
xen-devel@...ts.xenproject.org,
David Woodhouse <dwmw2@...radead.org>,
linux-arm-kernel@...ts.infradead.org
Subject: Re: remove the ->mapping_error method from dma_map_ops V2
On Thu, Nov 29, 2018 at 8:23 AM Christoph Hellwig <hch@....de> 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
Powered by blists - more mailing lists