[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20210917154823.jly4hsbe73bathce@gilmour>
Date: Fri, 17 Sep 2021 17:48:23 +0200
From: Maxime Ripard <maxime@...no.tech>
To: Jernej Škrabec <jernej.skrabec@...il.com>
Cc: Saravana Kannan <saravanak@...gle.com>,
linux-sunxi@...ts.linux.dev,
Android Kernel Team <kernel-team@...roid.com>,
linux-kernel@...r.kernel.org
Subject: Re: Issue with fw_devlink=on on 5.14
On Fri, Sep 17, 2021 at 06:32:45AM +0200, Jernej Škrabec wrote:
> Dne petek, 17. september 2021 ob 04:55:22 CEST je Saravana Kannan napisal(a):
> > On Wed, Sep 15, 2021 at 11:59 AM Jernej Škrabec
> >
> > <jernej.skrabec@...il.com> wrote:
> > > /cc linux-kernel@...r.kernel.org
> > >
> > > Dne sreda, 15. september 2021 ob 20:36:11 CEST je Saravana Kannan
> napisal(a):
> > > > On Wed, Sep 15, 2021 at 11:23 AM Saravana Kannan <saravanak@...gle.com>
> > >
> > > wrote:
> > > > > On Wed, Sep 15, 2021 at 11:07 AM Jernej Škrabec
> > > > >
> > > > > <jernej.skrabec@...il.com> wrote:
> > > > > > Hi Saravana!
> > > > > >
> > > > > > I noticed that in kernel 5.14, at least on Allwinner H3, deinterlace
> > >
> > > driver
> > >
> > > > > > doesn't load anymore if fw_devlink is set to on. If I set it to off,
> > >
> > > driver
> > >
> > > > > > loads and works without problems. If I remove interconnects property
> > > > > > in
> > >
> > > DT
> > >
> > > > > > node and use driver hack instead, it also loads and work ok.
> > > > > >
> > > > > > For reference, I speak about this node:
> > > > > > https://elixir.bootlin.com/linux/v5.14/source/arch/arm/boot/dts/sun8
> > > > > > i-h3.dtsi#L153> >
> > > > Oh the dts file please. Not dtsi. I need the full picture of
> > > > dependencies.
> > >
> > > I just dumped DTB from the board I use for testing this:
> > > http://ix.io/3yZB
> >
> > I was basically asking for this:
> > arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts
> >
> > > > -Saravana
> > > >
> > > > > > Do you have any clue why it doesn't work?
> > > > >
> > > > > Kinda busy today and I'll take a close look later, but if you delete
> > > > > "interconnect" but it works, then it seems like you have no driver for
> > > > > your "mbus" interconnect? Is that expected?
> > >
> > > Ah, you're completely right. There is no MBUS driver (yet), since current
> > > purpose of that node is to determine DMA memory offsets and for that you
> > > don't need a driver.
> >
> > Can you explain more how you get the DMA memory offsets in the code
> > from this node?
>
> Maxime, can you help with this?
Sure, Jernej is right, the interconnects binding with the dma-mem name
is here to describe the path DMA accesses take between devices.
In our case, the registers accesses go through the usual busses, but the
DMA accesses go through a separate one controlled by the mbus controller
Jernej was talking about.
The driver core will then take this into account and apply any DMA
mapping the mbus controller has:
https://elixir.bootlin.com/linux/latest/source/drivers/of/address.c#L582
So it's entirely transparent to the consumer driver.
Maxime
Download attachment "signature.asc" of type "application/pgp-signature" (229 bytes)
Powered by blists - more mailing lists