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.fainelli@xxxxxxxxx> 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
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature