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