Displaying 10 results from an estimated 10 matches for "is_64".
2014 Jul 26
0
[RFC PATCH 01/11] PCI/MSI: Use pci_dev->msi_cap instead of msi_desc->msi_attrib.pos
...APIC IRQ */
- entry->msi_attrib.pos = dev->msi_cap;
entry->msi_attrib.multi_cap = (control & PCI_MSI_FLAGS_QMASK) >> 1;
if (control & PCI_MSI_FLAGS_64BIT)
@@ -699,7 +698,6 @@ static int msix_setup_entries(struct pci_dev *dev, void __iomem *base,
entry->msi_attrib.is_64 = 1;
entry->msi_attrib.entry_nr = entries[i].entry;
entry->msi_attrib.default_irq = dev->irq;
- entry->msi_attrib.pos = dev->msix_cap;
entry->mask_base = base;
list_add_tail(&entry->list, &dev->msi_list);
diff --git a/include/linux/msi.h b/include/l...
2014 Aug 20
1
[RFC PATCH 10/11] PCI/MSI: Split the generic MSI code into new file
...y = alloc_msi_entry(msi);
> + if (!entry) {
> + if (!i)
> + iounmap(base);
> + else
> + free_msi_irqs(msi);
> + /* No enough memory. Don't try again */
> + return -ENOMEM;
> + }
> +
> + entry->msi_attrib.is_msix = 1;
> + entry->msi_attrib.is_64 = 1;
> + entry->msi_attrib.entry_nr = entries[i].entry;
> + entry->mask_base = base;
> +
> + list_add_tail(&entry->list, &msi->msi_list);
> + }
> +
> + if (msi->ops && msi->ops->msix_setup_entries)
> + return msi->ops->msix_se...
2014 Aug 20
1
[RFC PATCH 10/11] PCI/MSI: Split the generic MSI code into new file
...y = alloc_msi_entry(msi);
> + if (!entry) {
> + if (!i)
> + iounmap(base);
> + else
> + free_msi_irqs(msi);
> + /* No enough memory. Don't try again */
> + return -ENOMEM;
> + }
> +
> + entry->msi_attrib.is_msix = 1;
> + entry->msi_attrib.is_64 = 1;
> + entry->msi_attrib.entry_nr = entries[i].entry;
> + entry->mask_base = base;
> +
> + list_add_tail(&entry->list, &msi->msi_list);
> + }
> +
> + if (msi->ops && msi->ops->msix_setup_entries)
> + return msi->ops->msix_se...
2014 Jul 26
0
[RFC PATCH 10/11] PCI/MSI: Split the generic MSI code into new file
...y;
+ int i;
+
+ for (i = 0; i < nvec; i++) {
+ entry = alloc_msi_entry(msi);
+ if (!entry) {
+ if (!i)
+ iounmap(base);
+ else
+ free_msi_irqs(msi);
+ /* No enough memory. Don't try again */
+ return -ENOMEM;
+ }
+
+ entry->msi_attrib.is_msix = 1;
+ entry->msi_attrib.is_64 = 1;
+ entry->msi_attrib.entry_nr = entries[i].entry;
+ entry->mask_base = base;
+
+ list_add_tail(&entry->list, &msi->msi_list);
+ }
+
+ if (msi->ops && msi->ops->msix_setup_entries)
+ return msi->ops->msix_setup_entries(msi, entries);
+
+ return...
2011 Sep 20
0
[PATCH 4/4] x86: split MSI IRQ chip
...n int pci_restore_msi_state(struct
extern unsigned int pci_msix_get_table_len(struct pci_dev *pdev);
struct msi_desc {
- struct {
+ struct msi_attrib {
__u8 type : 5; /* {0: unused, 5h:MSI, 11h:MSI-X} */
__u8 maskbit : 1; /* mask-pending bit supported ? */
__u8 masked : 1;
__u8 is_64 : 1; /* Address size: 0=32bit 1=64bit */
__u8 pos; /* Location of the msi capability */
__u16 entry_nr; /* specific enabled entry */
- }msi_attrib;
+ } msi_attrib;
struct list_head list;
@@ -122,8 +121,6 @@ int msi_free_irq(struct msi_desc *entry)
*/
#define NR_HP_RESERVED_...
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
...iounmap(base);
else
- free_msi_irqs(dev);
+ free_msi_irqs(msi);
/* No enough memory. Don't try again */
return -ENOMEM;
}
@@ -688,7 +720,6 @@ static int msix_setup_entries(struct pci_dev *dev, void __iomem *base,
entry->msi_attrib.is_msix = 1;
entry->msi_attrib.is_64 = 1;
entry->msi_attrib.entry_nr = entries[i].entry;
- entry->msi_attrib.default_irq = dev->irq;
entry->mask_base = base;
msix_clear_and_set_ctrl(dev, 0,
@@ -700,19 +731,19 @@ static int msix_setup_entries(struct pci_dev *dev, void __iomem *base,
msix_clear_and_set_ctrl...
2014 Aug 20
1
[RFC PATCH 09/11] PCI/MSI: refactor PCI MSI driver
...rqs(dev);
> + free_msi_irqs(msi);
> /* No enough memory. Don't try again */
> return -ENOMEM;
> }
> @@ -688,7 +720,6 @@ static int msix_setup_entries(struct pci_dev *dev, void
> __iomem *base,
> entry->msi_attrib.is_msix = 1;
> entry->msi_attrib.is_64 = 1;
> entry->msi_attrib.entry_nr = entries[i].entry;
> - entry->msi_attrib.default_irq = dev->irq;
> entry->mask_base = base;
>
> msix_clear_and_set_ctrl(dev, 0,
> @@ -700,19 +731,19 @@ static int msix_setup_entries(struct pci_dev *dev, void
> __iomem...
2014 Aug 20
1
[RFC PATCH 09/11] PCI/MSI: refactor PCI MSI driver
...rqs(dev);
> + free_msi_irqs(msi);
> /* No enough memory. Don't try again */
> return -ENOMEM;
> }
> @@ -688,7 +720,6 @@ static int msix_setup_entries(struct pci_dev *dev, void
> __iomem *base,
> entry->msi_attrib.is_msix = 1;
> entry->msi_attrib.is_64 = 1;
> entry->msi_attrib.entry_nr = entries[i].entry;
> - entry->msi_attrib.default_irq = dev->irq;
> entry->mask_base = base;
>
> msix_clear_and_set_ctrl(dev, 0,
> @@ -700,19 +731,19 @@ static int msix_setup_entries(struct pci_dev *dev, void
> __iomem...