On 18/05/17 14:13, Jon Medhurst (Tixy) wrote: > On Thu, 2017-05-18 at 13:23 +0100, Robin Murphy wrote: >> The IOMMU-backed DMA API support has now been in place for a while and >> proven stable, so there's no real need to keep most of Juno's SMMUs >> disabled. The USB, HDLCDs, and CoreSight ETR all just need to map RAM >> buffers for DMA - enabling their SMMUs obviates CPU bounce buffering for >> USB's streaming DMA to the upper memory bank, and lets the other two >> allocate their relatively large coherent buffers without pressuring CMA. >> >> Some more software work is still needed for the DMA-330 and PCIe before >> those can accommodate SMMU translation correctly in all cases, so we >> leave those alone for now. >> >> Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> >> --- > > For those that don't already know, status = "disabled" for smmu is > broken in Linux 4.12-rc1, and this fixes it... > https://lkml.org/lkml/2017/5/17/344 Well, it's not *technically* broken - we do stop waiting for disabled IOMMUs that never appear, you just need to get to an initramfs or other workable userspace to load another driver such that the deferred probe queue gets kicked again after that point :P But yeah, the whole business reminded me that it was about time to do this anyway. I should dig up that pl330 patch I started, too... Robin. >> arch/arm64/boot/dts/arm/juno-base.dtsi | 4 ---- >> 1 file changed, 4 deletions(-) >> >> diff --git a/arch/arm64/boot/dts/arm/juno-base.dtsi b/arch/arm64/boot/dts/arm/juno-base.dtsi >> index bfe7d683a42e..02aea43238fc 100644 >> --- a/arch/arm64/boot/dts/arm/juno-base.dtsi >> +++ b/arch/arm64/boot/dts/arm/juno-base.dtsi >> @@ -53,7 +53,6 @@ >> #global-interrupts = <1>; >> dma-coherent; >> power-domains = <&scpi_devpd 0>; >> - status = "disabled"; >> }; >> >> gic: interrupt-controller@2c010000 { >> @@ -546,7 +545,6 @@ >> <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; >> #iommu-cells = <1>; >> #global-interrupts = <1>; >> - status = "disabled"; >> }; >> >> smmu_hdlcd0: iommu@7fb20000 { >> @@ -556,7 +554,6 @@ >> <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; >> #iommu-cells = <1>; >> #global-interrupts = <1>; >> - status = "disabled"; >> }; >> >> smmu_usb: iommu@7fb30000 { >> @@ -567,7 +564,6 @@ >> #iommu-cells = <1>; >> #global-interrupts = <1>; >> dma-coherent; >> - status = "disabled"; >> }; >> >> dma@7ff00000 { -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html