Re: [RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled()

2014-08-20 Thread Yijing Wang
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()

2014-08-19 Thread bharat.bhus...@freescale.com


 -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()

2014-08-05 Thread Stuart Yoder
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()

2014-08-05 Thread Yijing Wang
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