On Tue, 10 Mar 2020 at 10:12, Michael Walle michael@walle.cc wrote:
Am 2020-03-10 08:40, schrieb Michael Walle:
Am 2020-03-10 08:33, schrieb Michael Walle:
Use the correct device to request the DMA mapping. Otherwise the IOMMU doesn't get the mapping and it will generate a page fault.
The error messages look like: [ 3.008452] arm-smmu 5000000.iommu: Unhandled context fault: fsr=0x402, iova=0xf9800000, fsynr=0x3f0022, cbfrsynra=0x828, cb=8 [ 3.020123] arm-smmu 5000000.iommu: Unhandled context fault: fsr=0x402, iova=0xf9800000, fsynr=0x3f0022, cbfrsynra=0x828, cb=8
This was tested on a custom board with a LS1028A SoC.
Oh fu.. please disregard this patch. DMA mapping still isn't working. Somehow I missed that the transfer mode was turned back to its default XSPI mode.
Damn. I need more coffee.. this patch IS working. Only the first probe fails due to EPROBE_DEFER.
[ 2.539706] fsl-dspi 2120000.spi: rx dma channel not available (-517) [ 2.546200] fsl-dspi 2120000.spi: can't get dma channels [ 3.622774] spi-nor spi1.0: w25q128fw (16384 Kbytes)
-michael
I'm testing LS1028A with IOMMU_DEFAULT_PASSTHROUGH=y and I didn't have time to change my setup now. I've also sent a v3 to my patch series which is going to conflict with this one, sorry. I would have picked your patch up with my series but I didn't have the right environment to test it.
Thanks, -Vladimir