dmaengine: dw-edma: Fix the ch_count hdma callback
authorKory Maincent <kory.maincent@bootlin.com>
Mon, 29 Jan 2024 16:25:57 +0000 (17:25 +0100)
committerVinod Koul <vkoul@kernel.org>
Wed, 7 Feb 2024 08:30:51 +0000 (09:30 +0100)
commitcd665bfc757c71e9b7e0abff0f362d8abd38a805
tree3c29309a7677eac66364f04812a104349706fbe9
parent54be6c6c5ae8e0d93a6c4641cb7528eb0b6ba478
dmaengine: dw-edma: Fix the ch_count hdma callback

The current check of ch_en enabled to know the maximum number of available
hardware channels is wrong as it check the number of ch_en register set
but all of them are unset at probe. This register is set at the
dw_hdma_v0_core_start function which is run lately before a DMA transfer.

The HDMA IP have no way to know the number of hardware channels available
like the eDMA IP, then let set it to maximum channels and let the platform
set the right number of channels.

Fixes: e74c39573d35 ("dmaengine: dw-edma: Add support for native HDMA")
Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Reviewed-by: Serge Semin <fancer.lancer@gmail.com>
Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
Link: https://lore.kernel.org/r/20240129-b4-feature_hdma_mainline-v7-1-8e8c1acb7a46@bootlin.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/dw-edma/dw-hdma-v0-core.c