Hi Arnd, On 2020-12-15 7:49 a.m., Arnd Bergmann wrote:
On Tue, Dec 15, 2020 at 4:41 PM Florian Fainelli <f.faine...@gmail.com> 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
smime.p7s
Description: S/MIME Cryptographic Signature