Message ID | 20220309211204.26050-4-Frank.Li@nxp.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Enable designware PCI EP EDMA locally. | expand |
On Wed, Mar 09, 2022 at 03:11:59PM -0600, Frank Li wrote: > 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. Right, the driver doesn't use neither physical address nor size of the CSRs MMIO region, and most likely will never start using it. They are just redundant for the CSR space. Reviewed-by: Serge Semin <fancer.lancer@gmail.com> > > Signed-off-by: Frank Li <Frank.Li@nxp.com> > --- > New patch at 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 >
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;
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> --- New patch at 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(-)