search for: msi_typ

Displaying 16 results from an estimated 16 matches for "msi_typ".

Did you mean: msi_type
2014 Aug 20
1
[RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled()
.../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 pcib...
2014 Aug 20
1
[RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled()
.../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 pcib...
2014 Jul 26
0
[RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled()
...4 --- 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, i...
2014 Jul 26
20
[RFC PATCH 00/11] Refactor MSI to support Non-PCI device
Hi all, The series is a draft of generic MSI driver that supports PCI and Non-PCI device which have MSI capability. If you're not interested it, sorry for the noise. The series is based on Linux-3.16-rc1. MSI was introduced in PCI Spec 2.2. Currently, kernel MSI driver codes are bonding with PCI device. Because MSI has a lot advantages in design. More and more non-PCI devices want to use
2014 Jul 26
20
[RFC PATCH 00/11] Refactor MSI to support Non-PCI device
Hi all, The series is a draft of generic MSI driver that supports PCI and Non-PCI device which have MSI capability. If you're not interested it, sorry for the noise. The series is based on Linux-3.16-rc1. MSI was introduced in PCI Spec 2.2. Currently, kernel MSI driver codes are bonding with PCI device. Because MSI has a lot advantages in design. More and more non-PCI devices want to use
2014 Aug 20
1
[RFC PATCH 09/11] PCI/MSI: refactor PCI MSI driver
..._irqs(struct pci_dev *dev, int nvec, int type) > +int __weak arch_setup_msi_irqs(struct msi_irqs *msi, int nvec, int type) > { > struct msi_desc *entry; > int ret; > @@ -78,8 +80,8 @@ int __weak arch_setup_msi_irqs(struct pci_dev *dev, int nvec, > int type) > if (type == MSI_TYPE && nvec > 1) > return 1; > > - list_for_each_entry(entry, &dev->msi_list, list) { > - ret = arch_setup_msi_irq(dev, entry); > + list_for_each_entry(entry, &msi->msi_list, list) { > + ret = arch_setup_msi_irq(msi, entry); > if (ret < 0) >...
2014 Aug 20
1
[RFC PATCH 09/11] PCI/MSI: refactor PCI MSI driver
..._irqs(struct pci_dev *dev, int nvec, int type) > +int __weak arch_setup_msi_irqs(struct msi_irqs *msi, int nvec, int type) > { > struct msi_desc *entry; > int ret; > @@ -78,8 +80,8 @@ int __weak arch_setup_msi_irqs(struct pci_dev *dev, int nvec, > int type) > if (type == MSI_TYPE && nvec > 1) > return 1; > > - list_for_each_entry(entry, &dev->msi_list, list) { > - ret = arch_setup_msi_irq(dev, entry); > + list_for_each_entry(entry, &msi->msi_list, list) { > + ret = arch_setup_msi_irq(msi, entry); > if (ret < 0) >...
2014 Jul 26
0
[RFC PATCH 09/11] PCI/MSI: refactor PCI MSI driver
...e); } -int __weak arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) +int __weak arch_setup_msi_irqs(struct msi_irqs *msi, int nvec, int type) { struct msi_desc *entry; int ret; @@ -78,8 +80,8 @@ int __weak arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) if (type == MSI_TYPE && nvec > 1) return 1; - list_for_each_entry(entry, &dev->msi_list, list) { - ret = arch_setup_msi_irq(dev, entry); + list_for_each_entry(entry, &msi->msi_list, list) { + ret = arch_setup_msi_irq(msi, entry); if (ret < 0) return ret; if (ret > 0) @@...
2014 Aug 20
1
[RFC PATCH 10/11] PCI/MSI: Split the generic MSI code into new file
...gt; + > +int __weak arch_setup_msi_irqs(struct msi_irqs *msi, int nvec, int type) > +{ > + struct msi_desc *entry; > + int ret; > + > + /* > + * If an architecture wants to support multiple MSI, it needs to > + * override arch_setup_msi_irqs() > + */ > + if (type == MSI_TYPE && nvec > 1) > + return 1; > + > + list_for_each_entry(entry, &msi->msi_list, list) { > + ret = arch_setup_msi_irq(msi, entry); > + if (ret < 0) > + return ret; > + if (ret > 0) > + return -ENOSPC; > + } > + return 0; > +} > + &gt...
2014 Aug 20
1
[RFC PATCH 10/11] PCI/MSI: Split the generic MSI code into new file
...gt; + > +int __weak arch_setup_msi_irqs(struct msi_irqs *msi, int nvec, int type) > +{ > + struct msi_desc *entry; > + int ret; > + > + /* > + * If an architecture wants to support multiple MSI, it needs to > + * override arch_setup_msi_irqs() > + */ > + if (type == MSI_TYPE && nvec > 1) > + return 1; > + > + list_for_each_entry(entry, &msi->msi_list, list) { > + ret = arch_setup_msi_irq(msi, entry); > + if (ret < 0) > + return ret; > + if (ret > 0) > + return -ENOSPC; > + } > + return 0; > +} > + &gt...
2014 Jul 26
0
[RFC PATCH 10/11] PCI/MSI: Split the generic MSI code into new file
...turn chip->check_device(chip, dev, nvec, type); +} + +int __weak arch_setup_msi_irqs(struct msi_irqs *msi, int nvec, int type) +{ + struct msi_desc *entry; + int ret; + + /* + * If an architecture wants to support multiple MSI, it needs to + * override arch_setup_msi_irqs() + */ + if (type == MSI_TYPE && nvec > 1) + return 1; + + list_for_each_entry(entry, &msi->msi_list, list) { + ret = arch_setup_msi_irq(msi, entry); + if (ret < 0) + return ret; + if (ret > 0) + return -ENOSPC; + } + return 0; +} + + +void __weak arch_teardown_msi_irqs(struct msi_irqs *msi) +{...
2014 Aug 05
1
[RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled()
...suuport > checking only device MSI or MSIX enabled. > > Signed-off-by: Yijing Wang <wangyijing at 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
2014 Aug 05
1
[RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled()
...suuport > checking only device MSI or MSIX enabled. > > Signed-off-by: Yijing Wang <wangyijing at 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
2014 Aug 20
1
[RFC PATCH 11/11] x86/MSI: Refactor x86 MSI code
...v, int nvec, int type) > +int native_setup_msi_irqs(struct msi_irqs *msi, int nvec, int type) > { > struct msi_desc *msidesc; > unsigned int irq; > - int node, ret; > + int ret; > > /* Multiple MSI vectors only supported with interrupt remapping */ > if (type == MSI_TYPE && nvec > 1) > return 1; > > - node = dev_to_node(&dev->dev); > - > - list_for_each_entry(msidesc, &dev->msi_list, list) { > - irq = irq_alloc_hwirq(node); > + list_for_each_entry(msidesc, &msi->msi_list, list) { > + irq = irq_alloc_hwi...
2014 Aug 20
1
[RFC PATCH 11/11] x86/MSI: Refactor x86 MSI code
...v, int nvec, int type) > +int native_setup_msi_irqs(struct msi_irqs *msi, int nvec, int type) > { > struct msi_desc *msidesc; > unsigned int irq; > - int node, ret; > + int ret; > > /* Multiple MSI vectors only supported with interrupt remapping */ > if (type == MSI_TYPE && nvec > 1) > return 1; > > - node = dev_to_node(&dev->dev); > - > - list_for_each_entry(msidesc, &dev->msi_list, list) { > - irq = irq_alloc_hwirq(node); > + list_for_each_entry(msidesc, &msi->msi_list, list) { > + irq = irq_alloc_hwi...
2014 Jul 26
0
[RFC PATCH 11/11] x86/MSI: Refactor x86 MSI code
...int native_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) +int native_setup_msi_irqs(struct msi_irqs *msi, int nvec, int type) { struct msi_desc *msidesc; unsigned int irq; - int node, ret; + int ret; /* Multiple MSI vectors only supported with interrupt remapping */ if (type == MSI_TYPE && nvec > 1) return 1; - node = dev_to_node(&dev->dev); - - list_for_each_entry(msidesc, &dev->msi_list, list) { - irq = irq_alloc_hwirq(node); + list_for_each_entry(msidesc, &msi->msi_list, list) { + irq = irq_alloc_hwirq(msi->node); if (!irq) retu...