* [PATCH] dmaengine: stm32-dmamux: avoid reset of dmamux if used by coprocessor
@ 2022-05-04 16:17 Amelie Delaunay
2022-05-19 17:49 ` Vinod Koul
0 siblings, 1 reply; 2+ messages in thread
From: Amelie Delaunay @ 2022-05-04 16:17 UTC (permalink / raw)
To: Vinod Koul, Maxime Coquelin, Alexandre Torgue
Cc: dmaengine, linux-stm32, linux-arm-kernel, linux-kernel,
Amelie Delaunay
One of the two DMA controllers managed by the DMAMUX can be used by the
coprocessor. It is defined in the device tree with dma-masters.
When the two DMA controllers are used by the main CPU,
dma-masters = <&dma1, &dma2>; is specified in the device tree.
When one of the controllers is used by coprocessor (so not managed by
Linux), dma-masters = <&dma1>; is specified in the device tree.
In this case, Linux driver must not reset the DMAMUX, because it could have
been configured by the coprocessor to use the second DMA controller.
count is the number of DMA controllers defined in dma-masters property.
Reset only if resets property is found and valid in device tree, and if
the two DMA controllers are under Linux control.
Signed-off-by: Amelie Delaunay <amelie.delaunay@foss.st.com>
---
drivers/dma/stm32-dmamux.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/dma/stm32-dmamux.c b/drivers/dma/stm32-dmamux.c
index d5d55732adba..eee0c5aa5fb5 100644
--- a/drivers/dma/stm32-dmamux.c
+++ b/drivers/dma/stm32-dmamux.c
@@ -267,7 +267,7 @@ static int stm32_dmamux_probe(struct platform_device *pdev)
ret = PTR_ERR(rst);
if (ret == -EPROBE_DEFER)
goto err_clk;
- } else {
+ } else if (count > 1) { /* Don't reset if there is only one dma-master */
reset_control_assert(rst);
udelay(2);
reset_control_deassert(rst);
--
2.25.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] dmaengine: stm32-dmamux: avoid reset of dmamux if used by coprocessor
2022-05-04 16:17 [PATCH] dmaengine: stm32-dmamux: avoid reset of dmamux if used by coprocessor Amelie Delaunay
@ 2022-05-19 17:49 ` Vinod Koul
0 siblings, 0 replies; 2+ messages in thread
From: Vinod Koul @ 2022-05-19 17:49 UTC (permalink / raw)
To: Amelie Delaunay
Cc: Maxime Coquelin, Alexandre Torgue, dmaengine, linux-stm32,
linux-arm-kernel, linux-kernel
On 04-05-22, 18:17, Amelie Delaunay wrote:
> One of the two DMA controllers managed by the DMAMUX can be used by the
> coprocessor. It is defined in the device tree with dma-masters.
> When the two DMA controllers are used by the main CPU,
> dma-masters = <&dma1, &dma2>; is specified in the device tree.
> When one of the controllers is used by coprocessor (so not managed by
> Linux), dma-masters = <&dma1>; is specified in the device tree.
> In this case, Linux driver must not reset the DMAMUX, because it could have
> been configured by the coprocessor to use the second DMA controller.
> count is the number of DMA controllers defined in dma-masters property.
> Reset only if resets property is found and valid in device tree, and if
> the two DMA controllers are under Linux control.
Applied, thanks
--
~Vinod
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-05-19 17:50 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-05-04 16:17 [PATCH] dmaengine: stm32-dmamux: avoid reset of dmamux if used by coprocessor Amelie Delaunay
2022-05-19 17:49 ` Vinod Koul
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).