[PATCH v5 3/9] dmaengine: dw-edma: change rg_region to reg_base in struct dw_edma_chip

Frank Li
2022-03-10T19:25:34Z

struct dw_edma_region rg_region included virtual address, physical
address and size informaiton. But only virtual address is used by EDMA
driver. Change it to void __iomem *reg_base to clean up code.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Serge Semin <fancer.lancer@gmail.com>
---
No change since V4

drivers/dma/dw-edma/dw-edma-pcie.c | 6 +++---
drivers/dma/dw-edma/dw-edma-v0-core.c | 2 +-
drivers/dma/dw-edma/dw-edma-v0-debugfs.c | 2 +-
include/linux/dma/edma.h | 3 ++-
4 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/drivers/dma/dw-edma/dw-edma-pcie.c b/drivers/dma/dw-edma/dw-edma-pcie.c
index 2c1c5fa4e9f28..ae42bad24dd5a 100644
--- a/drivers/dma/dw-edma/dw-edma-pcie.c
+++ b/drivers/dma/dw-edma/dw-edma-pcie.c
@@ -233,8 +233,8 @@ static int dw_edma_pcie_probe(struct pci_dev *pdev,
chip->wr_ch_cnt = vsec_data.wr_ch_cnt;
chip->rd_ch_cnt = vsec_data.rd_ch_cnt;

- chip->rg_region.vaddr = pcim_iomap_table(pdev)[vsec_data.rg.bar];
- if (!chip->rg_region.vaddr)
+ chip->reg_base = pcim_iomap_table(pdev)[vsec_data.rg.bar];
+ if (!chip->reg_base)
return -ENOMEM;

for (i = 0; i < chip->wr_ch_cnt; i++) {
@@ -299,7 +299,7 @@ static int dw_edma_pcie_probe(struct pci_dev *pdev,

pci_dbg(pdev, "Registers:\tBAR=%u, off=0x%.8lx, sz=0x%zx bytes, addr(v=%p)\n",
vsec_data.rg.bar, vsec_data.rg.off, vsec_data.rg.sz,
- chip->rg_region.vaddr);
+ chip->reg_base);

for (i = 0; i < chip->wr_ch_cnt; i++) {
diff --git a/drivers/dma/dw-edma/dw-edma-v0-core.c b/drivers/dma/dw-edma/dw-edma-v0-core.c
index e507e076fad16..35f2adac93e46 100644
--- a/drivers/dma/dw-edma/dw-edma-v0-core.c
+++ b/drivers/dma/dw-edma/dw-edma-v0-core.c
@@ -25,7 +25,7 @@ enum dw_edma_control {

static inline struct dw_edma_v0_regs __iomem *__dw_regs(struct dw_edma *dw)
{
- return dw->chip->rg_region.vaddr;
+ return dw->chip->reg_base;
}

#define SET_32(dw, name, value) \
diff --git a/drivers/dma/dw-edma/dw-edma-v0-debugfs.c b/drivers/dma/dw-edma/dw-edma-v0-debugfs.c
index edb7e137cb35a..3a899f7f4e8d8 100644
--- a/drivers/dma/dw-edma/dw-edma-v0-debugfs.c
+++ b/drivers/dma/dw-edma/dw-edma-v0-debugfs.c
@@ -288,7 +288,7 @@ void dw_edma_v0_debugfs_on(struct dw_edma_chip *chip)
if (!dw)
return;

- regs = dw->chip->rg_region.vaddr;
+ regs = dw->chip->reg_base;
if (!regs)
return;

diff --git a/include/linux/dma/edma.h b/include/linux/dma/edma.h
index 6fd374cc72c8e..e9ce652b88233 100644
--- a/include/linux/dma/edma.h
+++ b/include/linux/dma/edma.h
@@ -39,6 +39,7 @@ enum dw_edma_map_format {
* @id: instance ID
* @nr_irqs: total dma irq number
* @ops DMA channel to IRQ number mapping
+ * @reg_base DMA register base address
* @wr_ch_cnt DMA write channel number
* @rd_ch_cnt DMA read channel number
* @rg_region DMA register region
@@ -53,7 +54,7 @@ struct dw_edma_chip {
int nr_irqs;
const struct dw_edma_core_ops *ops;

- struct dw_edma_region rg_region;
+ void __iomem *reg_base;

u16 wr_ch_cnt;
u16 rd_ch_cnt;
--
2.24.0.rc1