Commit 6cb6e9c6 authored by Serge Semin's avatar Serge Semin Committed by Bjorn Helgaas
Browse files

dmaengine: dw-edma: Use DMA engine device debugfs subdirectory

Since all DW eDMA read and write channels are now installed in a framework
of a single DMA engine device, move all the DW eDMA-specific debugfs nodes
into a ready-to-use DMA-engine debugfs subdirectory. It's created during
the DMA-device registration and can be found in the dma_device.dbg_dev_root
field.

Link: https://lore.kernel.org/r/20230113171409.30470-19-Sergey.Semin@baikalelectronics.ru


Tested-by: default avatarManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: default avatarSerge Semin <Sergey.Semin@baikalelectronics.ru>
Signed-off-by: default avatarLorenzo Pieralisi <lpieralisi@kernel.org>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
Reviewed-by: default avatarManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Acked-by: default avatarVinod Koul <vkoul@kernel.org>
parent 3883d644
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -1038,9 +1038,6 @@ int dw_edma_remove(struct dw_edma_chip *chip)
		list_del(&chan->vc.chan.device_node);
	}

	/* Turn debugfs off */
	dw_edma_v0_core_debugfs_off(dw);

	return 0;
}
EXPORT_SYMBOL_GPL(dw_edma_remove);
+0 −3
Original line number Diff line number Diff line
@@ -111,9 +111,6 @@ struct dw_edma {
	raw_spinlock_t			lock;		/* Only for legacy */

	struct dw_edma_chip             *chip;
#ifdef CONFIG_DEBUG_FS
	struct dentry			*debugfs;
#endif /* CONFIG_DEBUG_FS */
};

struct dw_edma_sg {
+0 −5
Original line number Diff line number Diff line
@@ -504,8 +504,3 @@ void dw_edma_v0_core_debugfs_on(struct dw_edma *dw)
{
	dw_edma_v0_debugfs_on(dw);
}

void dw_edma_v0_core_debugfs_off(struct dw_edma *dw)
{
	dw_edma_v0_debugfs_off(dw);
}
+0 −1
Original line number Diff line number Diff line
@@ -23,6 +23,5 @@ void dw_edma_v0_core_start(struct dw_edma_chunk *chunk, bool first);
int dw_edma_v0_core_device_config(struct dw_edma_chan *chan);
/* eDMA debug fs callbacks */
void dw_edma_v0_core_debugfs_on(struct dw_edma *dw);
void dw_edma_v0_core_debugfs_off(struct dw_edma *dw);

#endif /* _DW_EDMA_V0_CORE_H */
+4 −12
Original line number Diff line number Diff line
@@ -270,7 +270,7 @@ static void dw_edma_debugfs_regs(struct dw_edma *dw)
	struct dentry *regs_dent;
	int nr_entries;

	regs_dent = debugfs_create_dir(REGISTERS_STR, dw->debugfs);
	regs_dent = debugfs_create_dir(REGISTERS_STR, dw->dma.dbg_dev_root);

	nr_entries = ARRAY_SIZE(debugfs_regs);
	dw_edma_debugfs_create_x32(dw, debugfs_regs, nr_entries, regs_dent);
@@ -284,17 +284,9 @@ void dw_edma_v0_debugfs_on(struct dw_edma *dw)
	if (!debugfs_initialized())
		return;

	dw->debugfs = debugfs_create_dir(dw->name, NULL);

	debugfs_create_u32("mf", 0444, dw->debugfs, &dw->chip->mf);
	debugfs_create_u16("wr_ch_cnt", 0444, dw->debugfs, &dw->wr_ch_cnt);
	debugfs_create_u16("rd_ch_cnt", 0444, dw->debugfs, &dw->rd_ch_cnt);
	debugfs_create_u32("mf", 0444, dw->dma.dbg_dev_root, &dw->chip->mf);
	debugfs_create_u16("wr_ch_cnt", 0444, dw->dma.dbg_dev_root, &dw->wr_ch_cnt);
	debugfs_create_u16("rd_ch_cnt", 0444, dw->dma.dbg_dev_root, &dw->rd_ch_cnt);

	dw_edma_debugfs_regs(dw);
}

void dw_edma_v0_debugfs_off(struct dw_edma *dw)
{
	debugfs_remove_recursive(dw->debugfs);
	dw->debugfs = NULL;
}
Loading