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...