On Mon, Jun 04, 2018 at 05:30:48PM -0500, Bjorn Helgaas wrote: > [+cc ARM64 folks, linux-kernel] > > The original patch under discussion is: > https://lkml.kernel.org/r/20180521220514.30256-1-marek.vasut+renesas@xxxxxxxxx > > On Tue, May 22, 2018 at 11:52:21AM +0200, Marek Vasut wrote: > > On 05/22/2018 10:10 AM, Arnd Bergmann wrote: > > > On Tue, May 22, 2018 at 12:05 AM, Marek Vasut <marek.vasut@xxxxxxxxx> wrote: > > >> From: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> > > >> > > >> The PCIe DMA controller on RCar Gen2 and earlier is on 32bit bus, > > >> so limit the DMA range to 32bit. > > >> > > >> Signed-off-by: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> > > >> Signed-off-by: Marek Vasut <marek.vasut+renesas@xxxxxxxxx> > > >> Cc: Arnd Bergmann <arnd@xxxxxxxx> > > >> Cc: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> > > >> Cc: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> > > >> Cc: Simon Horman <horms+renesas@xxxxxxxxxxxx> > > >> Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx> > > >> Cc: linux-renesas-soc@xxxxxxxxxxxxxxx > > >> To: linux-pci@xxxxxxxxxxxxxxx > > >> --- > > >> NOTE: I'm aware of https://patchwork.kernel.org/patch/9495895/ , but the > > >> discussion seems to have gone way off, so I'm sending this as a > > >> RFC. Any feedback on how to do this limiting properly would be nice. > > > > > > Doing it in the driver is clearly not appropriate, we must do this in > > > common code. If I remember correctly, it's specifically ARM64 that is > > > broken here, it incorrectly allows setting a DMA mask to 64 bit > > > when that is not available. > > > > Yep, that's correct. ARM64 with devices mapping tremendous amounts of > > memory. So did anything change since that discussion references in the NOTE? Is it specifically arm64 that's broken here? If so, why and how do other archs (e.g. riscv) handle this? I thought all of this behaviour was driven by the DMA ops, and we're just using generic code for that afaict. Will