Message ID | 20180730073842.16092-1-hch@lst.de (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Bjorn Helgaas |
Headers | show |
Series | PCI: call dma_debug_add_bus for pci_bus_type in common code | expand |
On Mon, 30 Jul 2018, Christoph Hellwig wrote: > There is nothing arch specific about PCI or dma-debug, so move this > call to common code just after registering the bus type. > > Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Thomas Gleixner <tglx@linutronix.de>
[+cc Joerg] On Mon, Jul 30, 2018 at 09:38:42AM +0200, Christoph Hellwig wrote: > There is nothing arch specific about PCI or dma-debug, so move this > call to common code just after registering the bus type. I assume that previously, even if the user set CONFIG_DMA_API_DEBUG=y we only got PCI DMA debug on powerpc, sh, and x86. And after this patch, we'll get PCI DMA debug on *all* arches? If that's true, I'll add a comment to that effect to the commitlog since that new functionality might be of interest to other arches. > Signed-off-by: Christoph Hellwig <hch@lst.de> > --- > arch/powerpc/kernel/dma.c | 3 --- > arch/sh/drivers/pci/pci.c | 2 -- > arch/x86/kernel/pci-dma.c | 3 --- > drivers/pci/pci-driver.c | 2 +- > 4 files changed, 1 insertion(+), 9 deletions(-) > > diff --git a/arch/powerpc/kernel/dma.c b/arch/powerpc/kernel/dma.c > index 155170d70324..dbfc7056d7df 100644 > --- a/arch/powerpc/kernel/dma.c > +++ b/arch/powerpc/kernel/dma.c > @@ -357,9 +357,6 @@ EXPORT_SYMBOL_GPL(dma_get_required_mask); > > static int __init dma_init(void) > { > -#ifdef CONFIG_PCI > - dma_debug_add_bus(&pci_bus_type); > -#endif > #ifdef CONFIG_IBMVIO > dma_debug_add_bus(&vio_bus_type); > #endif > diff --git a/arch/sh/drivers/pci/pci.c b/arch/sh/drivers/pci/pci.c > index e5b7437ab4af..8256626bc53c 100644 > --- a/arch/sh/drivers/pci/pci.c > +++ b/arch/sh/drivers/pci/pci.c > @@ -160,8 +160,6 @@ static int __init pcibios_init(void) > for (hose = hose_head; hose; hose = hose->next) > pcibios_scanbus(hose); > > - dma_debug_add_bus(&pci_bus_type); > - > pci_initialized = 1; > > return 0; > diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c > index ab5d9dd668d2..43f58632f123 100644 > --- a/arch/x86/kernel/pci-dma.c > +++ b/arch/x86/kernel/pci-dma.c > @@ -155,9 +155,6 @@ static int __init pci_iommu_init(void) > { > struct iommu_table_entry *p; > > -#ifdef CONFIG_PCI > - dma_debug_add_bus(&pci_bus_type); > -#endif > x86_init.iommu.iommu_init(); > > for (p = __iommu_table; p < __iommu_table_end; p++) { > diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c > index 6792292b5fc7..bef17c3fca67 100644 > --- a/drivers/pci/pci-driver.c > +++ b/drivers/pci/pci-driver.c > @@ -1668,7 +1668,7 @@ static int __init pci_driver_init(void) > if (ret) > return ret; > #endif > - > + dma_debug_add_bus(&pci_bus_type); > return 0; > } > postcore_initcall(pci_driver_init); > -- > 2.18.0 >
On Mon, Jul 30, 2018 at 04:17:13PM -0500, Bjorn Helgaas wrote: > [+cc Joerg] > > On Mon, Jul 30, 2018 at 09:38:42AM +0200, Christoph Hellwig wrote: > > There is nothing arch specific about PCI or dma-debug, so move this > > call to common code just after registering the bus type. > > I assume that previously, even if the user set CONFIG_DMA_API_DEBUG=y > we only got PCI DMA debug on powerpc, sh, and x86. And after this > patch, we'll get PCI DMA debug on *all* arches? > > If that's true, I'll add a comment to that effect to the commitlog > since that new functionality might be of interest to other arches. There should be implicit support for dma-debug for all arches that use the generic dma_ops code. The dma_debug_add_bus() function just adds the reporting of pending dma-allocations on driver-unload for a device. Regards, Joerg
On Mon, Jul 30, 2018 at 04:17:13PM -0500, Bjorn Helgaas wrote: > [+cc Joerg] > > On Mon, Jul 30, 2018 at 09:38:42AM +0200, Christoph Hellwig wrote: > > There is nothing arch specific about PCI or dma-debug, so move this > > call to common code just after registering the bus type. > > I assume that previously, even if the user set CONFIG_DMA_API_DEBUG=y > we only got PCI DMA debug on powerpc, sh, and x86. And after this > patch, we'll get PCI DMA debug on *all* arches? Yes. Note that this only covers the actual bus related part, that is warning about outstanding dma mappings on unload. The rest of the dma api debugging already is entirely generic.
Christoph Hellwig <hch@lst.de> writes: > There is nothing arch specific about PCI or dma-debug, so move this > call to common code just after registering the bus type. > > Signed-off-by: Christoph Hellwig <hch@lst.de> > --- > arch/powerpc/kernel/dma.c | 3 --- > arch/sh/drivers/pci/pci.c | 2 -- > arch/x86/kernel/pci-dma.c | 3 --- > drivers/pci/pci-driver.c | 2 +- > 4 files changed, 1 insertion(+), 9 deletions(-) > > diff --git a/arch/powerpc/kernel/dma.c b/arch/powerpc/kernel/dma.c > index 155170d70324..dbfc7056d7df 100644 > --- a/arch/powerpc/kernel/dma.c > +++ b/arch/powerpc/kernel/dma.c > @@ -357,9 +357,6 @@ EXPORT_SYMBOL_GPL(dma_get_required_mask); > > static int __init dma_init(void) > { > -#ifdef CONFIG_PCI > - dma_debug_add_bus(&pci_bus_type); > -#endif > #ifdef CONFIG_IBMVIO > dma_debug_add_bus(&vio_bus_type); > #endif Acked-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc) cheers
On Mon, Jul 30, 2018 at 09:38:42AM +0200, Christoph Hellwig wrote: > There is nothing arch specific about PCI or dma-debug, so move this > call to common code just after registering the bus type. > > Signed-off-by: Christoph Hellwig <hch@lst.de> Applied with acks from Thomas and Michael to pci/misc for v4.19, thanks! > --- > arch/powerpc/kernel/dma.c | 3 --- > arch/sh/drivers/pci/pci.c | 2 -- > arch/x86/kernel/pci-dma.c | 3 --- > drivers/pci/pci-driver.c | 2 +- > 4 files changed, 1 insertion(+), 9 deletions(-) > > diff --git a/arch/powerpc/kernel/dma.c b/arch/powerpc/kernel/dma.c > index 155170d70324..dbfc7056d7df 100644 > --- a/arch/powerpc/kernel/dma.c > +++ b/arch/powerpc/kernel/dma.c > @@ -357,9 +357,6 @@ EXPORT_SYMBOL_GPL(dma_get_required_mask); > > static int __init dma_init(void) > { > -#ifdef CONFIG_PCI > - dma_debug_add_bus(&pci_bus_type); > -#endif > #ifdef CONFIG_IBMVIO > dma_debug_add_bus(&vio_bus_type); > #endif > diff --git a/arch/sh/drivers/pci/pci.c b/arch/sh/drivers/pci/pci.c > index e5b7437ab4af..8256626bc53c 100644 > --- a/arch/sh/drivers/pci/pci.c > +++ b/arch/sh/drivers/pci/pci.c > @@ -160,8 +160,6 @@ static int __init pcibios_init(void) > for (hose = hose_head; hose; hose = hose->next) > pcibios_scanbus(hose); > > - dma_debug_add_bus(&pci_bus_type); > - > pci_initialized = 1; > > return 0; > diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c > index ab5d9dd668d2..43f58632f123 100644 > --- a/arch/x86/kernel/pci-dma.c > +++ b/arch/x86/kernel/pci-dma.c > @@ -155,9 +155,6 @@ static int __init pci_iommu_init(void) > { > struct iommu_table_entry *p; > > -#ifdef CONFIG_PCI > - dma_debug_add_bus(&pci_bus_type); > -#endif > x86_init.iommu.iommu_init(); > > for (p = __iommu_table; p < __iommu_table_end; p++) { > diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c > index 6792292b5fc7..bef17c3fca67 100644 > --- a/drivers/pci/pci-driver.c > +++ b/drivers/pci/pci-driver.c > @@ -1668,7 +1668,7 @@ static int __init pci_driver_init(void) > if (ret) > return ret; > #endif > - > + dma_debug_add_bus(&pci_bus_type); > return 0; > } > postcore_initcall(pci_driver_init); > -- > 2.18.0 >
diff --git a/arch/powerpc/kernel/dma.c b/arch/powerpc/kernel/dma.c index 155170d70324..dbfc7056d7df 100644 --- a/arch/powerpc/kernel/dma.c +++ b/arch/powerpc/kernel/dma.c @@ -357,9 +357,6 @@ EXPORT_SYMBOL_GPL(dma_get_required_mask); static int __init dma_init(void) { -#ifdef CONFIG_PCI - dma_debug_add_bus(&pci_bus_type); -#endif #ifdef CONFIG_IBMVIO dma_debug_add_bus(&vio_bus_type); #endif diff --git a/arch/sh/drivers/pci/pci.c b/arch/sh/drivers/pci/pci.c index e5b7437ab4af..8256626bc53c 100644 --- a/arch/sh/drivers/pci/pci.c +++ b/arch/sh/drivers/pci/pci.c @@ -160,8 +160,6 @@ static int __init pcibios_init(void) for (hose = hose_head; hose; hose = hose->next) pcibios_scanbus(hose); - dma_debug_add_bus(&pci_bus_type); - pci_initialized = 1; return 0; diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c index ab5d9dd668d2..43f58632f123 100644 --- a/arch/x86/kernel/pci-dma.c +++ b/arch/x86/kernel/pci-dma.c @@ -155,9 +155,6 @@ static int __init pci_iommu_init(void) { struct iommu_table_entry *p; -#ifdef CONFIG_PCI - dma_debug_add_bus(&pci_bus_type); -#endif x86_init.iommu.iommu_init(); for (p = __iommu_table; p < __iommu_table_end; p++) { diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c index 6792292b5fc7..bef17c3fca67 100644 --- a/drivers/pci/pci-driver.c +++ b/drivers/pci/pci-driver.c @@ -1668,7 +1668,7 @@ static int __init pci_driver_init(void) if (ret) return ret; #endif - + dma_debug_add_bus(&pci_bus_type); return 0; } postcore_initcall(pci_driver_init);
There is nothing arch specific about PCI or dma-debug, so move this call to common code just after registering the bus type. Signed-off-by: Christoph Hellwig <hch@lst.de> --- arch/powerpc/kernel/dma.c | 3 --- arch/sh/drivers/pci/pci.c | 2 -- arch/x86/kernel/pci-dma.c | 3 --- drivers/pci/pci-driver.c | 2 +- 4 files changed, 1 insertion(+), 9 deletions(-)