lkml.org 
[lkml]   [2021]   [Jan]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH v2 1/2] arm64: dts: broadcom: clear the warnings caused by empty dma-ranges
    On Tue, Jan 12, 2021 at 7:28 PM Ray Jui <ray.jui@broadcom.com> wrote:
    > On 2020-12-15 7:49 a.m., Arnd Bergmann wrote:
    > > On Tue, Dec 15, 2020 at 4:41 PM Florian Fainelli <f.fainelli@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.

    a 40-bit range is effectively the same as a 64-bit range though, so I
    think you'll still need a driver quirk if the device cannot use the whole 40
    bit addressing but is limited to 32 bits because of a bug in its dma engine.

    > 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

    I have not actually seen that change. In general, you should always
    have a dma-ranges property in the parent of a DMA master, I think
    we just never enforced that and fall back to a 32-bit mask by default.

    Arnd

    \
     
     \ /
      Last update: 2021-01-12 22:54    [W:14.719 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site