search for: __pci_restore_msi_state

Displaying 12 results from an estimated 12 matches for "__pci_restore_msi_state".

2013 Aug 29
6
[PATCH 2/3 v3] Refactor MSI restore call-chain to drop unnecessary argument
...masked); + readl(entry->mask_base); + } else { + pos = entry->msi_attrib.pos; + pci_read_config_word(dev, pos + PCI_MSI_FLAGS, + &control); + msi_mask_irq(entry, msi_capable_mask(control), + entry->masked); + } + } } #endif @@ -406,7 +419,6 @@ static void __pci_restore_msi_state(struct pci_dev *dev) arch_restore_msi_irqs(dev, dev->irq); pci_read_config_word(dev, dev->msi_cap + PCI_MSI_FLAGS, &control); - msi_mask_irq(entry, msi_capable_mask(control), entry->masked); control &= ~PCI_MSI_FLAGS_QSIZE; control |= (entry->msi_attrib.multiple <&l...
2014 Jul 26
0
[RFC PATCH 09/11] PCI/MSI: refactor PCI MSI driver
...-static void pci_intx_for_msi(struct pci_dev *dev, int enable) +static void pci_intx_for_msi(struct msi_irqs *msi, int enable) { + struct pci_dev *dev = msi->data; + if (!(dev->dev_flags & PCI_DEV_FLAGS_MSI_INTX_DISABLE_BUG)) pci_intx(dev, enable); } @@ -444,9 +473,9 @@ static void __pci_restore_msi_state(struct pci_dev *dev) entry = irq_get_msi_desc(dev->irq); - pci_intx_for_msi(dev, 0); - msi_set_enable(dev, 0); - arch_restore_msi_irqs(dev); + pci_intx_for_msi(dev->msi, 0); + msi_set_enable(dev->msi, 0, MSI_TYPE); + arch_restore_msi_irqs(dev->msi); pci_read_config_word(dev, d...
2014 Aug 20
1
[RFC PATCH 09/11] PCI/MSI: refactor PCI MSI driver
..._dev *dev, int enable) > +static void pci_intx_for_msi(struct msi_irqs *msi, int enable) > { > + struct pci_dev *dev = msi->data; > + > if (!(dev->dev_flags & PCI_DEV_FLAGS_MSI_INTX_DISABLE_BUG)) > pci_intx(dev, enable); > } > @@ -444,9 +473,9 @@ static void __pci_restore_msi_state(struct pci_dev *dev) > > entry = irq_get_msi_desc(dev->irq); > > - pci_intx_for_msi(dev, 0); > - msi_set_enable(dev, 0); > - arch_restore_msi_irqs(dev); > + pci_intx_for_msi(dev->msi, 0); > + msi_set_enable(dev->msi, 0, MSI_TYPE); > + arch_restore_msi_irqs(de...
2014 Aug 20
1
[RFC PATCH 09/11] PCI/MSI: refactor PCI MSI driver
..._dev *dev, int enable) > +static void pci_intx_for_msi(struct msi_irqs *msi, int enable) > { > + struct pci_dev *dev = msi->data; > + > if (!(dev->dev_flags & PCI_DEV_FLAGS_MSI_INTX_DISABLE_BUG)) > pci_intx(dev, enable); > } > @@ -444,9 +473,9 @@ static void __pci_restore_msi_state(struct pci_dev *dev) > > entry = irq_get_msi_desc(dev->irq); > > - pci_intx_for_msi(dev, 0); > - msi_set_enable(dev, 0); > - arch_restore_msi_irqs(dev); > + pci_intx_for_msi(dev->msi, 0); > + msi_set_enable(dev->msi, 0, MSI_TYPE); > + arch_restore_msi_irqs(de...
2014 Aug 20
1
[RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled()
...tore_msi_irq(struct pci_dev *dev, int > irq) > if (irq == entry->irq) > break; > } > - } else if (dev->msi_enabled) { > + } else if (pci_dev_msi_enabled(dev, MSI_TYPE)) { > entry = irq_get_msi_desc(irq); > } > > @@ -439,7 +439,7 @@ static void __pci_restore_msi_state(struct pci_dev *dev) > u16 control; > struct msi_desc *entry; > > - if (!dev->msi_enabled) > + if (!pci_dev_msi_enabled(dev, MSI_TYPE)) > return; > > entry = irq_get_msi_desc(dev->irq); > @@ -878,7 +878,8 @@ void pci_msi_shutdown(struct pci_dev *dev) >...
2014 Aug 20
1
[RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled()
...tore_msi_irq(struct pci_dev *dev, int > irq) > if (irq == entry->irq) > break; > } > - } else if (dev->msi_enabled) { > + } else if (pci_dev_msi_enabled(dev, MSI_TYPE)) { > entry = irq_get_msi_desc(irq); > } > > @@ -439,7 +439,7 @@ static void __pci_restore_msi_state(struct pci_dev *dev) > u16 control; > struct msi_desc *entry; > > - if (!dev->msi_enabled) > + if (!pci_dev_msi_enabled(dev, MSI_TYPE)) > return; > > entry = irq_get_msi_desc(dev->irq); > @@ -878,7 +878,8 @@ void pci_msi_shutdown(struct pci_dev *dev) >...
2014 Jul 26
0
[RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled()
...msi.c @@ -125,7 +125,7 @@ static void default_restore_msi_irq(struct pci_dev *dev, int irq) if (irq == entry->irq) break; } - } else if (dev->msi_enabled) { + } else if (pci_dev_msi_enabled(dev, MSI_TYPE)) { entry = irq_get_msi_desc(irq); } @@ -439,7 +439,7 @@ static void __pci_restore_msi_state(struct pci_dev *dev) u16 control; struct msi_desc *entry; - if (!dev->msi_enabled) + if (!pci_dev_msi_enabled(dev, MSI_TYPE)) return; entry = irq_get_msi_desc(dev->irq); @@ -878,7 +878,8 @@ void pci_msi_shutdown(struct pci_dev *dev) struct msi_desc *desc; u32 mask; - if (!p...
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 10/11] PCI/MSI: Split the generic MSI code into new file
...c) > - return NULL; > - > - INIT_LIST_HEAD(&desc->list); > - desc->msi = msi; > - > - return desc; > -} > - > static void pci_intx_for_msi(struct msi_irqs *msi, int enable) > { > struct pci_dev *dev = msi->data; > @@ -474,7 +218,7 @@ static void __pci_restore_msi_state(struct pci_dev *dev) > entry = irq_get_msi_desc(dev->irq); > > pci_intx_for_msi(dev->msi, 0); > - msi_set_enable(dev->msi, 0, MSI_TYPE); > + pci_msi_set_enable(dev->msi, 0, MSI_TYPE); > arch_restore_msi_irqs(dev->msi); > > pci_read_config_word(dev, d...
2014 Aug 20
1
[RFC PATCH 10/11] PCI/MSI: Split the generic MSI code into new file
...c) > - return NULL; > - > - INIT_LIST_HEAD(&desc->list); > - desc->msi = msi; > - > - return desc; > -} > - > static void pci_intx_for_msi(struct msi_irqs *msi, int enable) > { > struct pci_dev *dev = msi->data; > @@ -474,7 +218,7 @@ static void __pci_restore_msi_state(struct pci_dev *dev) > entry = irq_get_msi_desc(dev->irq); > > pci_intx_for_msi(dev->msi, 0); > - msi_set_enable(dev->msi, 0, MSI_TYPE); > + pci_msi_set_enable(dev->msi, 0, MSI_TYPE); > arch_restore_msi_irqs(dev->msi); > > pci_read_config_word(dev, d...
2014 Jul 26
0
[RFC PATCH 10/11] PCI/MSI: Split the generic MSI code into new file
..._desc *desc = kzalloc(sizeof(*desc), GFP_KERNEL); - if (!desc) - return NULL; - - INIT_LIST_HEAD(&desc->list); - desc->msi = msi; - - return desc; -} - static void pci_intx_for_msi(struct msi_irqs *msi, int enable) { struct pci_dev *dev = msi->data; @@ -474,7 +218,7 @@ static void __pci_restore_msi_state(struct pci_dev *dev) entry = irq_get_msi_desc(dev->irq); pci_intx_for_msi(dev->msi, 0); - msi_set_enable(dev->msi, 0, MSI_TYPE); + pci_msi_set_enable(dev->msi, 0, MSI_TYPE); arch_restore_msi_irqs(dev->msi); pci_read_config_word(dev, dev->msi_cap + PCI_MSI_FLAGS, &c...