Re: [PATCH] arm64: dts: juno: Enable some SMMUs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux