[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAHp75VebsHinU=UwvSKeGkiwDymgfPKZpc+cwFm_KsRUvAcs2A@mail.gmail.com>
Date: Fri, 13 Jun 2025 23:58:37 +0300
From: Andy Shevchenko <andy.shevchenko@...il.com>
To: Alexander Kochetkov <al.kochet@...il.com>
Cc: Andy Shevchenko <andriy.shevchenko@...el.com>, Vinod Koul <vkoul@...nel.org>,
dmaengine@...r.kernel.org, linux-kernel@...r.kernel.org,
Nishad Saraf <nishads@....com>, Lizhi Hou <lizhi.hou@....com>, Jacky Huang <ychuang3@...oton.com>,
Shan-Chun Hung <schung@...oton.com>, Florian Fainelli <florian.fainelli@...adcom.com>,
Ray Jui <rjui@...adcom.com>, Scott Branden <sbranden@...adcom.com>,
Lars-Peter Clausen <lars@...afoo.de>, Paul Cercueil <paul@...pouillou.net>,
Eugeniy Paltsev <Eugeniy.Paltsev@...opsys.com>, Manivannan Sadhasivam <mani@...nel.org>,
Frank Li <Frank.Li@....com>, Zhou Wang <wangzhou1@...ilicon.com>,
Longfang Liu <liulongfang@...wei.com>, Andy Shevchenko <andy@...nel.org>,
Shawn Guo <shawnguo@...nel.org>, Sascha Hauer <s.hauer@...gutronix.de>,
Pengutronix Kernel Team <kernel@...gutronix.de>, Fabio Estevam <festevam@...il.com>,
Keguang Zhang <keguang.zhang@...il.com>, Sean Wang <sean.wang@...iatek.com>,
Matthias Brugger <matthias.bgg@...il.com>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>,
Andreas Färber <afaerber@...e.de>,
Daniel Mack <daniel@...que.org>, Haojian Zhuang <haojian.zhuang@...il.com>,
Robert Jarzmik <robert.jarzmik@...e.fr>, Paul Walmsley <paul.walmsley@...ive.com>,
Samuel Holland <samuel.holland@...ive.com>, Orson Zhai <orsonzhai@...il.com>,
Baolin Wang <baolin.wang@...ux.alibaba.com>, Chunyan Zhang <zhang.lyra@...il.com>,
Patrice Chotard <patrice.chotard@...s.st.com>,
Amélie Delaunay <amelie.delaunay@...s.st.com>,
Maxime Coquelin <mcoquelin.stm32@...il.com>, Alexandre Torgue <alexandre.torgue@...s.st.com>,
Chen-Yu Tsai <wens@...e.org>, Jernej Skrabec <jernej.skrabec@...il.com>,
Laxman Dewangan <ldewangan@...dia.com>, Jon Hunter <jonathanh@...dia.com>,
Thierry Reding <thierry.reding@...il.com>, Peter Ujfalusi <peter.ujfalusi@...il.com>,
Kunihiko Hayashi <hayashi.kunihiko@...ionext.com>, Masami Hiramatsu <mhiramat@...nel.org>,
Dave Jiang <dave.jiang@...el.com>, Amit Vadhavana <av2082000@...il.com>,
Uwe Kleine-König <u.kleine-koenig@...libre.com>,
Ulf Hansson <ulf.hansson@...aro.org>, Md Sadre Alam <quic_mdalam@...cinc.com>,
Casey Connolly <casey.connolly@...aro.org>, Kees Cook <kees@...nel.org>,
Fenghua Yu <fenghua.yu@...el.com>, Jyothi Kumar Seerapu <quic_jseerapu@...cinc.com>
Subject: Re: [PATCH 1/1] dmaengine: virt-dma: convert tasklet to BH workqueue
for callback invocation
On Fri, Jun 13, 2025 at 9:51 PM Alexander Kochetkov <al.kochet@...il.com> wrote:
...
> > What about the driver(s) that use threaded IRQ instead?
> > Do you plan to convert them as well?
> >
> > I am talking about current users of virt-dma that do not use tasklets.
>
> I think, I've found all the users of virt-dma. Could you, please,
> provide example of such driver?
> Here is what I did to locate current users of virt-dma.
>
> I got list of drivers using following command:
> grep -r -e 'struct virt_dma_chan' -e 'virt-dma.h' . | sort | cut -f 1
> -d : | uniq
Side note, `git grep -lw 'struct virt_dma_chan'` will get you the list
much faster and easier to remember the command.
Same for virt-dma.h.
...
> ./drivers/dma/sh/rz-dmac.c
> ./drivers/dma/sh/usb-dmac.c
These, for instance, are not in the patch.
...
> After that I did following to find additional drivers, and found them
> inside misc.
> grep -r -e ae4dma.h -e ptdma.h -e qdma.h -e dw-axi-dmac.h -e
> dw-edma-core.h -e dpaa2-qdma.h -e fsl-edma-common.h -e hsu.h -e
> idma64.h -e sf-pdma.h -e st_fdma.h . | sort | cut -f 1 -d : | uniq
Same side note as above :-)
> I've applied the following config to the kernel, to build all the
> drivers. I've modified some Kconfig files in order all options apply.
> And checked that every file in the above list builds successfully.
> Some drivers have compile errors, unrelated to virt-dma.
Any pointers? This needs to be fixed independently on your series.
> Some drivers
> produce link errors, but compile success. I checked that each .o-file
> has a reasonable size.
...
> # CONFIG_QCOM_ADM=y - error: assignment to 'u32 *' {aka 'unsigned int
> *'} from incompatible pointer type 'phys_addr_t *'
Have you tried to check via `git log -p -- drivers/ ...` which commit
brought that?
...
> # CONFIG_FSL_DMA=y - error: implicit declaration of function '__ilog2
This needs a log2.h?
However it seems this is defined in asm/bitops.h for PPC. And it's
only a single architecture which does this interesting trick. Perhaps
it needs to be fixed differently, i.e. making sure that code uses
ilog2() from log2.h directly.
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists