[<prev] [next>] [day] [month] [year] [list]
Message-ID: <bf8f02ced6604f80acb84e82ea3a9268@thalesgroup.com>
Date: Wed, 5 Feb 2025 13:38:32 +0000
From: LECOINTRE Philippe <philippe.lecointre@...lesgroup.com>
To: Eugeniy Paltsev <Eugeniy.Paltsev@...opsys.com>,
"dmaengine@...r.kernel.org" <dmaengine@...r.kernel.org>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>, "LENAIN
Simon" <simon.lenain@...lesgroup.com>, LEJEUNE Sebastien
<sebastien.lejeune@...lesgroup.com>, BARBEAU Etienne
<etienne.barbeau@...lesgroup.com>, RENAULT Xavier
<xavier.renault@...lesgroup.com>
Subject: [PATCH] dmaengine: dw-axi-dmac: optional reset support
Use optional reset support to avoid having to add a new entry to dw_dma_of_id_table for each target requiring reset support
Signed-off-by: Philippe Lecointre <philippe.lecointre@...lesgroup.com>
Acked-by: Simon Lenain <simon.lenain@...lesgroup.com>
---
.../dma/dw-axi-dmac/dw-axi-dmac-platform.c | 20 ++++++++-----------
1 file changed, 8 insertions(+), 12 deletions(-)
diff --git a/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c b/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
index b23536645ff7..186bfb35b9eb 100644
--- a/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
+++ b/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
@@ -48,8 +48,7 @@
DMA_SLAVE_BUSWIDTH_64_BYTES)
#define AXI_DMA_FLAG_HAS_APB_REGS BIT(0)
-#define AXI_DMA_FLAG_HAS_RESETS BIT(1)
-#define AXI_DMA_FLAG_USE_CFG2 BIT(2)
+#define AXI_DMA_FLAG_USE_CFG2 BIT(1)
static inline void
axi_dma_iowrite32(struct axi_dma_chip *chip, u32 reg, u32 val)
@@ -1498,15 +1497,13 @@ static int dw_probe(struct platform_device *pdev)
return PTR_ERR(chip->apb_regs);
}
- if (flags & AXI_DMA_FLAG_HAS_RESETS) {
- resets = devm_reset_control_array_get_exclusive(&pdev->dev);
- if (IS_ERR(resets))
- return PTR_ERR(resets);
+ resets = devm_reset_control_array_get_optional_exclusive(&pdev->dev);
+ if (IS_ERR(resets))
+ return PTR_ERR(resets);
- ret = reset_control_deassert(resets);
- if (ret)
- return ret;
- }
+ ret = reset_control_deassert(resets);
+ if (ret)
+ return ret;
chip->dw->hdata->use_cfg2 = !!(flags & AXI_DMA_FLAG_USE_CFG2);
@@ -1665,10 +1662,9 @@ static const struct of_device_id dw_dma_of_id_table[] = {
.data = (void *)AXI_DMA_FLAG_HAS_APB_REGS,
}, {
.compatible = "starfive,jh7110-axi-dma",
- .data = (void *)(AXI_DMA_FLAG_HAS_RESETS | AXI_DMA_FLAG_USE_CFG2),
+ .data = (void *)AXI_DMA_FLAG_USE_CFG2,
}, {
.compatible = "starfive,jh8100-axi-dma",
- .data = (void *)AXI_DMA_FLAG_HAS_RESETS,
},
{}
};
--
2.44.1
Powered by blists - more mailing lists