Hi Arnd, On 2020-12-15 7:49 a.m., Arnd Bergmann wrote: > On Tue, Dec 15, 2020 at 4:41 PM Florian Fainelli wrote: >> >> On 12/15/2020 5:19 AM, Bharat Gooty wrote: >>> Since the IOMMU is disabled and DMA engine is on 32-bit bus, We can not >>> give the complete DDR for the USB DMA. >>> So restricting the usable DAM size to 4GB. >> >> Thanks, can you make this a proper patch submission along with a Fixes: >> tag that is: >> >> Fixes: 2013a4b684b6 ("arm64: dts: broadcom: clear the warnings caused by >> empty dma-ranges") > > Yes, that would be helpful, though I would appreciate a better description > that explains what is actually going on: is it the device or the bus that > has the 32-bit limitation, and if it is indeed a bug in the device, why do > you pretend that this is a 64-bit device on a 32-bit bus instead (this > could also use a comment in the dts file)? > > Arnd > Sorry for the delay in reply. Bharat finally got time to do some investigation to confirm the following: These USB controllers indeed can address 64-bit. However, on the bus internally, only 40-bits are connected to the interconnect of CCN. As a result, the 'dma-ranges' should be modified to address 40-bit in size. We also have a somewhat related question, is it true that since v5.10, defining of 'dma-ranges' on the bus node where its child device node has implication of IOMMU usage (through 'iommus' or 'iommu-map') is now mandatory? My understanding is that the 'dma-ranges' in this scheme will define the IOVA address to system address mapping required by all devices on that bus. Please help to confirm if my understanding is correct. Thanks, Ray