Re: [RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled()
On 2014/8/20 13:57, bharat.bhus...@freescale.com wrote: -Original Message- From: linux-pci-ow...@vger.kernel.org [mailto:linux-pci-ow...@vger.kernel.org] On Behalf Of Yijing Wang Sent: Saturday, July 26, 2014 8:39 AM To: linux-ker...@vger.kernel.org Cc: Xinwei Hu; Wuyun; Bjorn Helgaas; linux-...@vger.kernel.org; paul.mu...@huawei.com; James E.J. Bottomley; Marc Zyngier; linux-arm- ker...@lists.infradead.org; Russell King; linux-a...@vger.kernel.org; Basu Arnab-B45036; virtualization@lists.linux-foundation.org; Hanjun Guo; Yijing Wang Subject: [RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled() Pci_dev_msi_enabled() is used to check whether device MSI/MSIX enabled. Refactor this function to suuport checking only device MSI or MSIX enabled. s/support/support From code it looks like you added one more parameter to pci_dev_msi_enabled() to check for a specific type, which earlier it was checking for both MSI and MSIX enable. While the description is not clear to me, Am I missing something ? Right~ Thanks -Bharat Signed-off-by: Yijing Wang wangyij...@huawei.com --- arch/cris/arch-v32/drivers/pci/bios.c |2 +- arch/frv/mb93090-mb00/pci-vdk.c |2 +- arch/ia64/pci/pci.c |4 ++-- arch/powerpc/kernel/eeh_driver.c |2 +- arch/x86/pci/common.c |5 +++-- drivers/block/nvme-core.c |4 ++-- drivers/dma/ioat/dma.c|2 +- drivers/firewire/ohci.c |2 +- drivers/gpu/drm/i915/i915_dma.c |4 ++-- drivers/misc/mei/hw-me.c |2 +- drivers/misc/mei/hw-txe.c |2 +- drivers/misc/mei/pci-me.c |4 ++-- drivers/misc/mei/pci-txe.c|4 ++-- drivers/misc/mic/host/mic_debugfs.c |4 ++-- drivers/misc/mic/host/mic_intr.c |8 drivers/ntb/ntb_hw.c |2 +- drivers/pci/irq.c |4 ++-- drivers/pci/msi.c | 15 +-- drivers/pci/pci.c |6 +++--- drivers/pci/pcie/portdrv_core.c |4 ++-- drivers/scsi/esas2r/esas2r_init.c |4 ++-- drivers/scsi/esas2r/esas2r_ioctl.c|4 ++-- drivers/scsi/hpsa.c |4 ++-- drivers/staging/crystalhd/crystalhd_lnx.c |2 +- drivers/xen/xen-pciback/pciback_ops.c | 12 ++-- include/linux/pci.h | 12 ++-- virt/kvm/assigned-dev.c |2 +- 27 files changed, 67 insertions(+), 55 deletions(-) diff --git a/arch/cris/arch-v32/drivers/pci/bios.c b/arch/cris/arch- v32/drivers/pci/bios.c index 64a5fb9..d9d8332 100644 --- a/arch/cris/arch-v32/drivers/pci/bios.c +++ b/arch/cris/arch-v32/drivers/pci/bios.c @@ -93,7 +93,7 @@ int pcibios_enable_device(struct pci_dev *dev, int mask) if ((err = pcibios_enable_resources(dev, mask)) 0) return err; -if (!dev-msi_enabled) +if (!pci_dev_msi_enabled(dev, MSI_TYPE)) pcibios_enable_irq(dev); return 0; } diff --git a/arch/frv/mb93090-mb00/pci-vdk.c b/arch/frv/mb93090-mb00/pci-vdk.c index efa5d65..b96c128 100644 --- a/arch/frv/mb93090-mb00/pci-vdk.c +++ b/arch/frv/mb93090-mb00/pci-vdk.c @@ -409,7 +409,7 @@ int pcibios_enable_device(struct pci_dev *dev, int mask) if ((err = pci_enable_resources(dev, mask)) 0) return err; -if (!dev-msi_enabled) +if (!pci_dev_msi_enabled(dev, MSI_TYPE)) pcibios_enable_irq(dev); return 0; } diff --git a/arch/ia64/pci/pci.c b/arch/ia64/pci/pci.c index 291a582..da8ddff 100644 --- a/arch/ia64/pci/pci.c +++ b/arch/ia64/pci/pci.c @@ -568,7 +568,7 @@ pcibios_enable_device (struct pci_dev *dev, int mask) if (ret 0) return ret; -if (!dev-msi_enabled) +if (!pci_dev_msi_enabled(dev, MSI_TYPE)) return acpi_pci_irq_enable(dev); return 0; } @@ -577,7 +577,7 @@ void pcibios_disable_device (struct pci_dev *dev) { BUG_ON(atomic_read(dev-enable_cnt)); -if (!dev-msi_enabled) +if (!pci_dev_msi_enabled(dev, MSI_TYPE)) acpi_pci_irq_disable(dev); } diff --git a/arch/powerpc/kernel/eeh_driver.c b/arch/powerpc/kernel/eeh_driver.c index 420da61..e3f2074 100644 --- a/arch/powerpc/kernel/eeh_driver.c +++ b/arch/powerpc/kernel/eeh_driver.c @@ -123,7 +123,7 @@ static void eeh_disable_irq(struct pci_dev *dev) * effectively disabled by the DMA Stopped state * when an EEH error occurs. */ -if (dev-msi_enabled || dev-msix_enabled) +if (pci_dev_msi_enabled(dev, MSI_TYPE | MSIX_TYPE)) return; if (!irq_has_action(dev-irq)) diff --git a/arch/x86/pci/common.c b/arch/x86/pci/common.c index 059a76c..4597940 100644 ---
RE: [RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled()
-Original Message- From: linux-pci-ow...@vger.kernel.org [mailto:linux-pci-ow...@vger.kernel.org] On Behalf Of Yijing Wang Sent: Saturday, July 26, 2014 8:39 AM To: linux-ker...@vger.kernel.org Cc: Xinwei Hu; Wuyun; Bjorn Helgaas; linux-...@vger.kernel.org; paul.mu...@huawei.com; James E.J. Bottomley; Marc Zyngier; linux-arm- ker...@lists.infradead.org; Russell King; linux-a...@vger.kernel.org; Basu Arnab-B45036; virtualization@lists.linux-foundation.org; Hanjun Guo; Yijing Wang Subject: [RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled() Pci_dev_msi_enabled() is used to check whether device MSI/MSIX enabled. Refactor this function to suuport checking only device MSI or MSIX enabled. s/support/support From code it looks like you added one more parameter to pci_dev_msi_enabled() to check for a specific type, which earlier it was checking for both MSI and MSIX enable. While the description is not clear to me, Am I missing something ? Thanks -Bharat Signed-off-by: Yijing Wang wangyij...@huawei.com --- arch/cris/arch-v32/drivers/pci/bios.c |2 +- arch/frv/mb93090-mb00/pci-vdk.c |2 +- arch/ia64/pci/pci.c |4 ++-- arch/powerpc/kernel/eeh_driver.c |2 +- arch/x86/pci/common.c |5 +++-- drivers/block/nvme-core.c |4 ++-- drivers/dma/ioat/dma.c|2 +- drivers/firewire/ohci.c |2 +- drivers/gpu/drm/i915/i915_dma.c |4 ++-- drivers/misc/mei/hw-me.c |2 +- drivers/misc/mei/hw-txe.c |2 +- drivers/misc/mei/pci-me.c |4 ++-- drivers/misc/mei/pci-txe.c|4 ++-- drivers/misc/mic/host/mic_debugfs.c |4 ++-- drivers/misc/mic/host/mic_intr.c |8 drivers/ntb/ntb_hw.c |2 +- drivers/pci/irq.c |4 ++-- drivers/pci/msi.c | 15 +-- drivers/pci/pci.c |6 +++--- drivers/pci/pcie/portdrv_core.c |4 ++-- drivers/scsi/esas2r/esas2r_init.c |4 ++-- drivers/scsi/esas2r/esas2r_ioctl.c|4 ++-- drivers/scsi/hpsa.c |4 ++-- drivers/staging/crystalhd/crystalhd_lnx.c |2 +- drivers/xen/xen-pciback/pciback_ops.c | 12 ++-- include/linux/pci.h | 12 ++-- virt/kvm/assigned-dev.c |2 +- 27 files changed, 67 insertions(+), 55 deletions(-) diff --git a/arch/cris/arch-v32/drivers/pci/bios.c b/arch/cris/arch- v32/drivers/pci/bios.c index 64a5fb9..d9d8332 100644 --- a/arch/cris/arch-v32/drivers/pci/bios.c +++ b/arch/cris/arch-v32/drivers/pci/bios.c @@ -93,7 +93,7 @@ int pcibios_enable_device(struct pci_dev *dev, int mask) if ((err = pcibios_enable_resources(dev, mask)) 0) return err; - if (!dev-msi_enabled) + if (!pci_dev_msi_enabled(dev, MSI_TYPE)) pcibios_enable_irq(dev); return 0; } diff --git a/arch/frv/mb93090-mb00/pci-vdk.c b/arch/frv/mb93090-mb00/pci-vdk.c index efa5d65..b96c128 100644 --- a/arch/frv/mb93090-mb00/pci-vdk.c +++ b/arch/frv/mb93090-mb00/pci-vdk.c @@ -409,7 +409,7 @@ int pcibios_enable_device(struct pci_dev *dev, int mask) if ((err = pci_enable_resources(dev, mask)) 0) return err; - if (!dev-msi_enabled) + if (!pci_dev_msi_enabled(dev, MSI_TYPE)) pcibios_enable_irq(dev); return 0; } diff --git a/arch/ia64/pci/pci.c b/arch/ia64/pci/pci.c index 291a582..da8ddff 100644 --- a/arch/ia64/pci/pci.c +++ b/arch/ia64/pci/pci.c @@ -568,7 +568,7 @@ pcibios_enable_device (struct pci_dev *dev, int mask) if (ret 0) return ret; - if (!dev-msi_enabled) + if (!pci_dev_msi_enabled(dev, MSI_TYPE)) return acpi_pci_irq_enable(dev); return 0; } @@ -577,7 +577,7 @@ void pcibios_disable_device (struct pci_dev *dev) { BUG_ON(atomic_read(dev-enable_cnt)); - if (!dev-msi_enabled) + if (!pci_dev_msi_enabled(dev, MSI_TYPE)) acpi_pci_irq_disable(dev); } diff --git a/arch/powerpc/kernel/eeh_driver.c b/arch/powerpc/kernel/eeh_driver.c index 420da61..e3f2074 100644 --- a/arch/powerpc/kernel/eeh_driver.c +++ b/arch/powerpc/kernel/eeh_driver.c @@ -123,7 +123,7 @@ static void eeh_disable_irq(struct pci_dev *dev) * effectively disabled by the DMA Stopped state * when an EEH error occurs. */ - if (dev-msi_enabled || dev-msix_enabled) + if (pci_dev_msi_enabled(dev, MSI_TYPE | MSIX_TYPE)) return; if (!irq_has_action(dev-irq)) diff --git a/arch/x86/pci/common.c b/arch/x86/pci/common.c index 059a76c..4597940 100644 --- a/arch/x86/pci/common.c +++ b/arch/x86/pci/common.c @@
Re: [RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled()
On Fri, Jul 25, 2014 at 10:08 PM, Yijing Wang wangyij...@huawei.com wrote: Pci_dev_msi_enabled() is used to check whether device MSI/MSIX enabled. Refactor this function to suuport checking only device MSI or MSIX enabled. Signed-off-by: Yijing Wang wangyij...@huawei.com So this patch refactors things so that checks like this: - if (!dev-msi_enabled) are moved into a function: + if (!pci_dev_msi_enabled(dev, MSI_TYPE)) Can you explain a bit more why this needed. Is it just cleanup? Thanks, Stuart ___ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization
Re: [RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled()
On 2014/8/6 6:35, Stuart Yoder wrote: On Fri, Jul 25, 2014 at 10:08 PM, Yijing Wang wangyij...@huawei.com wrote: Pci_dev_msi_enabled() is used to check whether device MSI/MSIX enabled. Refactor this function to suuport checking only device MSI or MSIX enabled. Signed-off-by: Yijing Wang wangyij...@huawei.com So this patch refactors things so that checks like this: - if (!dev-msi_enabled) are moved into a function: + if (!pci_dev_msi_enabled(dev, MSI_TYPE)) Can you explain a bit more why this needed. Is it just cleanup? Hi Stuart, it's not just cleanup, because [RFC PATCH 08/11] PCI/MSI: Introduce new struct msi_irqs and struct msi_ops introduced struct msi_irqs, so the code will change to if (!dev-msi_irqs-msi_enabled) I think driver should not need to know the details of MSI members. So I try to rework the pci_dev_msi_enabled() to hide the detailed MSI info. Thanks! Yijing. . -- Thanks! Yijing ___ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization