Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1556690

Re: [PATCH v2] arm64: do not set dma masks that device connection can't handle

Path csiph.com!news.redatomik.org!newsfeed.datemas.de!weretis.net!feeder4.news.weretis.net!newsfeed.CARNet.hr!news.spin.it!bofh.it!news.nic.it!robomod
From Arnd Bergmann <arnd@arndb.de>
Newsgroups linux.kernel
Subject Re: [PATCH v2] arm64: do not set dma masks that device connection can't handle
Date Wed, 11 Jan 2017 17:30:01 +0100
Message-ID <sYtWF-In-19@gated-at.bofh.it> (permalink)
References <sXCIG-19v-5@gated-at.bofh.it> <sY5rj-2pg-9@gated-at.bofh.it> <sYqm6-6WF-3@gated-at.bofh.it>
User-Agent KMail/5.1.3 (Linux/4.4.0-34-generic; KDE/5.18.0; x86_64; ; )
MIME-Version 1.0
Content-Transfer-Encoding 7Bit
Content-Type text/plain; charset="us-ascii"
X-Provags-ID V03:K0:eZAMXF4wBu5/jY3XEl8NYnP3fTIp4USujR2He5CadnUOvA7Yr3j qObnI9KrniF49eCVHr/w4unkumKvrwSreT38jVBH7S/fEsFMk9pQQhG32jc4o7FeRSUcLdc IkdXRypxF5CR6ejxTt34EaAIDrvDPBzvGkjfHdkw/xVKCtjtZ5P4Daoir7c88JR1qTwW5FB E6VlyFu19b90lWuMHn1KQ==
X-Ui-Out-Filterresults notjunk:1;V01:K0:XKvwCVVhBEI=:oFuKJ4+GiSZuk5SkVjsZlm ue9NQIuRJZq8EXAkBHVTZ/LBDR4pXHL563VsnvrmNu0ogBGOPr8SRpsYloPB2UoVPwqielpxN M0G37nbek/z8UQ5AvQ0qaDV+LWt6nY40wGoxadfd/axhSIy8oq4Czt3JsOWEjss36KGil25Do 4m0Zy1KHTD4NZkazd9W/3W/ZjyFNO0pbSGGNEocfWhC4wHbYegqNl/iBbBfZD5kVQd+eknX06 4U/HbRSan2cRXuyEFlwY1fF3PhhvuHZt+zMl1RsiFI10CxR0QwMBDR3Dr0sr7L8yUoMIm7nv2 C6BNJjanKxGwFIkXVsSDvSyL+PZGaqs50MLgp4HeQBVgYuEdXGcM8xgZRPYu4Jkh1Z3BBgO1c Py4NryFxtTi1xLltEDUG2L5y+IAiJcMzOJRxT26giNB/7CN+WqPbcPo2Du0134OrOZv3LdMTi 4pg/dg6gA9tS8Z9UBwVkA3gr5eDhuC26bRO/2GslehpM6JYRC34CcR3gIaQaA5XsvsfRrsl6G ZA/vtd/zdg4rS9CBo0Szlm+T0aEFR3n/s5eOXh11W+i8hrbikgYVoEnumqiAnLcbt/JNTr/gD uhDblHmZwxXKJWz8iBmwi4lG7eq/qtkgCa4S6PPh1++WNVY6h35d4Y7VZDFj5IQg/oRb8wzOD 1OsyEqSFlh9/Y4zCW52/N7tYg1zPoputoROdxgMiBQm8q46kaFxlRoXEtWb7NsegbnBFVCika 9Gq7ok8g4pcS1+Lw
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 34
Organization linux.* mail to news gateway
X-Original-Cc Robin Murphy <robin.murphy@arm.com>, Will Deacon <will.deacon@arm.com>, linux-arm-kernel@lists.infradead.org, Catalin Marinas <catalin.marinas@arm.com>, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Simon Horman <horms@verge.net.au>, Bjorn Helgaas <bhelgaas@google.com>, artemi.ivanov@cogentembedded.com, fkan@apm.com, Christoph Hellwig <hch@lst.de>
X-Original-Date Wed, 11 Jan 2017 17:21:49 +0100
X-Original-Message-ID <3179509.2spa1K0WKy@wuerfel>
X-Original-References <1483947002-16410-1-git-send-email-nikita.yoush@cogentembedded.com> <5c5cd4fd-4854-a2dd-10b6-9cc98e63a85c@arm.com> <7c6a1523-e41b-ad83-501a-27c260b9f9ee@cogentembedded.com>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1556690

Show key headers only | View raw


On Wednesday, January 11, 2017 3:37:22 PM CET Nikita Yushchenko wrote:
> > I actually have a third variation of this problem involving a PCI root
> > complex which *could* drive full-width (40-bit) addresses, but won't,
> > due to the way its PCI<->AXI interface is programmed. That would require
> > even more complicated dma-ranges handling to describe the windows of
> > valid physical addresses which it *will* pass, so I'm not pressing the
> > issue - let's just get the basic DMA mask case fixed first.
> 
> R-Car + NVMe is actually not "basic case".
> 
> It has PCI<->AXI interface involved.
> PCI addresses are 64-bit and controller does handle 64-bit addresses
> there. Mapping between PCI addresses and AXI addresses is defined. But
> AXI is 32-bit.
> 
> SoC has iommu that probably could be used between PCIe module and RAM.
> Although AFAIK nobody made that working yet.
> 
> Board I work with has 4G of RAM, in 4 banks, located at different parts
> of wide address space, and only one of them is below 4G. But if iommu is
> capable of translating addresses such that 4 gigabyte banks map to first
> 4 gigabytes of address space, then all memory will become available for
> DMA from PCIe device.

You can in theory handle this by defining your own platform specific
dma_map_ops, as we used to do in the old days. Unfortunately, the modern
way of using the generic IOVA allocation can't handle really it, so it's
unclear if the work that would be necessary to support it (and the long
term maintenance cost) outweigh the benefits.

The more likely option here is to try harder to get the IOMMU working
(or show that it's impossible but make sure the next chip gets it right).

	Arnd

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v2] arm64: do not set dma masks that device connection can't handle Nikita Yushchenko <nikita.yoush@cogentembedded.com> - 2017-01-09 08:40 +0100
  Re: [PATCH v2] arm64: do not set dma masks that device connection  can't handle Will Deacon <will.deacon@arm.com> - 2017-01-10 13:00 +0100
    Re: [PATCH v2] arm64: do not set dma masks that device connection  can't handle Nikita Yushchenko <nikita.yoush@cogentembedded.com> - 2017-01-10 13:50 +0100
      Re: [PATCH v2] arm64: do not set dma masks that device connection can't handle Arnd Bergmann <arnd@arndb.de> - 2017-01-10 14:20 +0100
      Re: [PATCH v2] arm64: do not set dma masks that device connection  can't handle Robin Murphy <robin.murphy@arm.com> - 2017-01-10 14:30 +0100
        Re: [PATCH v2] arm64: do not set dma masks that device connection  can't handle Nikita Yushchenko <nikita.yoush@cogentembedded.com> - 2017-01-10 15:10 +0100
        Re: [PATCH v2] arm64: do not set dma masks that device connection  can't handle Robin Murphy <robin.murphy@arm.com> - 2017-01-10 15:20 +0100
          Re: [PATCH v2] arm64: do not set dma masks that device connection can't handle Arnd Bergmann <arnd@arndb.de> - 2017-01-10 16:10 +0100
          Re: [PATCH v2] arm64: do not set dma masks that device connection  can't handle Nikita Yushchenko <nikita.yoush@cogentembedded.com> - 2017-01-11 13:40 +0100
            Re: [PATCH v2] arm64: do not set dma masks that device connection can't handle Arnd Bergmann <arnd@arndb.de> - 2017-01-11 17:30 +0100
            Re: [PATCH v2] arm64: do not set dma masks that device connection  can't handle Robin Murphy <robin.murphy@arm.com> - 2017-01-11 19:30 +0100
        Re: [PATCH v2] arm64: do not set dma masks that device connection         can't handle Christoph Hellwig <hch@lst.de> - 2017-01-10 16:00 +0100
        Re: [PATCH v2] arm64: do not set dma masks that device connection         can't handle Christoph Hellwig <hch@lst.de> - 2017-01-10 16:00 +0100
        Re: [PATCH v2] arm64: do not set dma masks that device connection can't handle Arnd Bergmann <arnd@arndb.de> - 2017-01-10 16:10 +0100
      Re: [PATCH v2] arm64: do not set dma masks that device connection         can't handle Christoph Hellwig <hch@lst.de> - 2017-01-10 16:00 +0100

csiph-web