search for: msix_type

Displaying 14 results from an estimated 14 matches for "msix_type".

Did you mean: msi_type
2014 Aug 20
1
[RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled()
...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 > @@ -662,14 +662,15 @@ int pcibios_enable_device(struct pci_dev *...
2014 Aug 20
1
[RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled()
...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 > @@ -662,14 +662,15 @@ int pcibios_enable_device(struct pci_dev *...
2014 Jul 26
0
[RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled()
...h_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 @@ -662,14 +662,15 @@ int pcibios_enable_device(struct pci_dev *dev, int mask) if ((err = pci_enable_...
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 Jul 26
0
[RFC PATCH 09/11] PCI/MSI: refactor PCI MSI driver
...t;data; + + if (type == MSI_TYPE) { + pci_read_config_word(dev, dev->msi_cap + PCI_MSI_FLAGS, &control); + control &= ~PCI_MSI_FLAGS_ENABLE; + if (enable) + control |= PCI_MSI_FLAGS_ENABLE; + pci_write_config_word(dev, dev->msi_cap + PCI_MSI_FLAGS, control); + } else if (type == MSIX_TYPE) { + if (enable) + msix_clear_and_set_ctrl(dev, 0, PCI_MSIX_FLAGS_ENABLE); + else + msix_clear_and_set_ctrl(dev, PCI_MSIX_FLAGS_ENABLE, 0); + } +} + static inline __attribute_const__ u32 msi_mask(unsigned x) { /* Don't shift by >= width of type */ @@ -175,6 +185,7 @@ static inline...
2014 Aug 20
1
[RFC PATCH 09/11] PCI/MSI: refactor PCI MSI driver
...PE) { > + pci_read_config_word(dev, dev->msi_cap + PCI_MSI_FLAGS, &control); > + control &= ~PCI_MSI_FLAGS_ENABLE; > + if (enable) > + control |= PCI_MSI_FLAGS_ENABLE; > + pci_write_config_word(dev, dev->msi_cap + PCI_MSI_FLAGS, control); > + } else if (type == MSIX_TYPE) { > + if (enable) > + msix_clear_and_set_ctrl(dev, 0, PCI_MSIX_FLAGS_ENABLE); > + else > + msix_clear_and_set_ctrl(dev, PCI_MSIX_FLAGS_ENABLE, 0); > + } > +} > + > static inline __attribute_const__ u32 msi_mask(unsigned x) > { > /* Don't shift by >= w...
2014 Aug 20
1
[RFC PATCH 09/11] PCI/MSI: refactor PCI MSI driver
...PE) { > + pci_read_config_word(dev, dev->msi_cap + PCI_MSI_FLAGS, &control); > + control &= ~PCI_MSI_FLAGS_ENABLE; > + if (enable) > + control |= PCI_MSI_FLAGS_ENABLE; > + pci_write_config_word(dev, dev->msi_cap + PCI_MSI_FLAGS, control); > + } else if (type == MSIX_TYPE) { > + if (enable) > + msix_clear_and_set_ctrl(dev, 0, PCI_MSIX_FLAGS_ENABLE); > + else > + msix_clear_and_set_ctrl(dev, PCI_MSIX_FLAGS_ENABLE, 0); > + } > +} > + > static inline __attribute_const__ u32 msi_mask(unsigned x) > { > /* Don't shift by >= w...
2014 Aug 20
1
[RFC PATCH 10/11] PCI/MSI: Split the generic MSI code into new file
...; + > +void msix_shutdown(struct msi_irqs *msi) > +{ > + struct msi_desc *entry; > + > + if (!msi || !msi->msix_enabled) > + return; > + > + list_for_each_entry(entry, &msi->msi_list, list) > + arch_msix_mask_irq(entry, 1); > + > + msi_set_enable(msi, 0, MSIX_TYPE); > + msi_set_intx(msi, 1); > + msi->msix_enabled = 0; > +} > + > +static struct msi_desc * msi_setup_entry(struct msi_irqs *msi) > +{ > + struct msi_desc *entry; > + > + entry = alloc_msi_entry(msi); > + if (!entry) > + return NULL; > + > + entry->msi_...
2014 Aug 20
1
[RFC PATCH 10/11] PCI/MSI: Split the generic MSI code into new file
...; + > +void msix_shutdown(struct msi_irqs *msi) > +{ > + struct msi_desc *entry; > + > + if (!msi || !msi->msix_enabled) > + return; > + > + list_for_each_entry(entry, &msi->msi_list, list) > + arch_msix_mask_irq(entry, 1); > + > + msi_set_enable(msi, 0, MSIX_TYPE); > + msi_set_intx(msi, 1); > + msi->msix_enabled = 0; > +} > + > +static struct msi_desc * msi_setup_entry(struct msi_irqs *msi) > +{ > + struct msi_desc *entry; > + > + entry = alloc_msi_entry(msi); > + if (!entry) > + return NULL; > + > + entry->msi_...
2014 Jul 26
0
[RFC PATCH 10/11] PCI/MSI: Split the generic MSI code into new file
...b.multi_cap); + arch_msi_mask_irq(desc, mask, ~mask); +} + +void msix_shutdown(struct msi_irqs *msi) +{ + struct msi_desc *entry; + + if (!msi || !msi->msix_enabled) + return; + + list_for_each_entry(entry, &msi->msi_list, list) + arch_msix_mask_irq(entry, 1); + + msi_set_enable(msi, 0, MSIX_TYPE); + msi_set_intx(msi, 1); + msi->msix_enabled = 0; +} + +static struct msi_desc * msi_setup_entry(struct msi_irqs *msi) +{ + struct msi_desc *entry; + + entry = alloc_msi_entry(msi); + if (!entry) + return NULL; + + entry->msi_attrib.is_msix = 0; + entry->msi_attrib.entry_nr = 0; + + if...
2014 Aug 20
1
[RFC PATCH 11/11] x86/MSI: Refactor x86 MSI code
...si/msi.c > +++ b/drivers/msi/msi.c > @@ -510,9 +510,8 @@ int msix_capability_init(struct msi_irqs *msi, void __iomem > *base, > > /* Set MSI-X enabled bits and unmask the function */ > msi_set_intx(msi, 0); > - msi->msix_enabled = 1; > - > msi_set_enable(msi, 1, MSIX_TYPE); > + msi->msix_enabled = 1; > > return 0; > > -- > 1.7.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-pci" in > the body of a message to majordomo at vger.kernel.org > More majordomo info at http://vger.kernel.org/majo...
2014 Aug 20
1
[RFC PATCH 11/11] x86/MSI: Refactor x86 MSI code
...si/msi.c > +++ b/drivers/msi/msi.c > @@ -510,9 +510,8 @@ int msix_capability_init(struct msi_irqs *msi, void __iomem > *base, > > /* Set MSI-X enabled bits and unmask the function */ > msi_set_intx(msi, 0); > - msi->msix_enabled = 1; > - > msi_set_enable(msi, 1, MSIX_TYPE); > + msi->msix_enabled = 1; > > return 0; > > -- > 1.7.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-pci" in > the body of a message to majordomo at vger.kernel.org > More majordomo info at http://vger.kernel.org/majo...
2014 Jul 26
0
[RFC PATCH 11/11] x86/MSI: Refactor x86 MSI code
...ndex 3fbd539..8462c6c 100644 --- a/drivers/msi/msi.c +++ b/drivers/msi/msi.c @@ -510,9 +510,8 @@ int msix_capability_init(struct msi_irqs *msi, void __iomem *base, /* Set MSI-X enabled bits and unmask the function */ msi_set_intx(msi, 0); - msi->msix_enabled = 1; - msi_set_enable(msi, 1, MSIX_TYPE); + msi->msix_enabled = 1; return 0; -- 1.7.1