search for: msix_program_entries

Displaying 10 results from an estimated 10 matches for "msix_program_entries".

2013 Aug 29
6
[PATCH 2/3 v3] Refactor MSI restore call-chain to drop unnecessary argument
Driver init call graph under baremetal: driver_init-> msix_capability_init-> msix_program_entries-> msix_mask_irq-> entry->masked = 1 request_irq-> __setup_irq-> irq_startup-> unmask_msi_irq-> msix_mask_irq-> entry->masked = 0 So entry->masked is always...
2014 Jul 26
0
[RFC PATCH 09/11] PCI/MSI: refactor PCI MSI driver
...ntries(struct pci_dev *dev, void __iomem *base, msix_clear_and_set_ctrl(dev, PCI_MSIX_FLAGS_MASKALL | PCI_MSIX_FLAGS_ENABLE, 0); - list_add_tail(&entry->list, &dev->msi_list); + list_add_tail(&entry->list, &msi->msi_list); } return 0; } -static void msix_program_entries(struct pci_dev *dev, +static void msix_program_entries(struct msi_irqs *msi, struct msix_entry *entries) { struct msi_desc *entry; int i = 0; - list_for_each_entry(entry, &dev->msi_list, list) { + list_for_each_entry(entry, &msi->msi_list, list) { entries[i].vector = e...
2013 Aug 05
6
NIC PCI-Passthrough problems (PV domU driver crashes)
...apped GSI42 to IRQ27 Aug 5 15:05:17 ubuntu kernel: [ 139.781816] igb 0000:00:00.1: setting latency timer to 64 Aug 5 15:05:17 ubuntu kernel: [ 139.793427] BUG: unable to handle kernel paging request at ffffc9000031800c Aug 5 15:05:17 ubuntu kernel: [ 139.793442] IP: [<ffffffff8134b30b>] msix_program_entries+0x7b/0xa0 Aug 5 15:05:17 ubuntu kernel: [ 139.793457] PGD 77e1c067 PUD 77e1d067 PMD 77f23067 PTE 80100000fa3dc465 Aug 5 15:05:17 ubuntu kernel: [ 139.793471] Oops: 0003 [#1] SMP Aug 5 15:05:17 ubuntu kernel: [ 139.793479] CPU 0 Aug 5 15:05:17 ubuntu kernel: [ 139.793483] Modules linked in:...
2014 Aug 20
1
[RFC PATCH 09/11] PCI/MSI: refactor PCI MSI driver
...; msix_clear_and_set_ctrl(dev, > PCI_MSIX_FLAGS_MASKALL | PCI_MSIX_FLAGS_ENABLE, 0); > > - list_add_tail(&entry->list, &dev->msi_list); > + list_add_tail(&entry->list, &msi->msi_list); > } > > return 0; > } > > -static void msix_program_entries(struct pci_dev *dev, > +static void msix_program_entries(struct msi_irqs *msi, > struct msix_entry *entries) > { > struct msi_desc *entry; > int i = 0; > > - list_for_each_entry(entry, &dev->msi_list, list) { > + list_for_each_entry(entry, &msi->msi...
2014 Aug 20
1
[RFC PATCH 09/11] PCI/MSI: refactor PCI MSI driver
...; msix_clear_and_set_ctrl(dev, > PCI_MSIX_FLAGS_MASKALL | PCI_MSIX_FLAGS_ENABLE, 0); > > - list_add_tail(&entry->list, &dev->msi_list); > + list_add_tail(&entry->list, &msi->msi_list); > } > > return 0; > } > > -static void msix_program_entries(struct pci_dev *dev, > +static void msix_program_entries(struct msi_irqs *msi, > struct msix_entry *entries) > { > struct msi_desc *entry; > int i = 0; > > - list_for_each_entry(entry, &dev->msi_list, list) { > + list_for_each_entry(entry, &msi->msi...
2014 Aug 20
1
[RFC PATCH 10/11] PCI/MSI: Split the generic MSI code into new file
...> + /* Set MSI enabled bits */ > + msi_set_intx(msi, 0); > + msi_set_enable(msi, 1, MSI_TYPE); > + msi->msi_enabled = 1; > + > + return 0; > + > +err: > + msi_mask_irq(entry, mask, ~mask); > + free_msi_irqs(msi); > + return ret; > +} > + > +static void msix_program_entries(struct msi_irqs *msi, > + struct msix_entry *entries) > +{ > + struct msi_desc *entry; > + int i = 0; > + > + list_for_each_entry(entry, &msi->msi_list, list) { > + entries[i].vector = entry->irq; > + irq_set_msi_desc(entry->irq, entry); > + i++; >...
2014 Aug 20
1
[RFC PATCH 10/11] PCI/MSI: Split the generic MSI code into new file
...> + /* Set MSI enabled bits */ > + msi_set_intx(msi, 0); > + msi_set_enable(msi, 1, MSI_TYPE); > + msi->msi_enabled = 1; > + > + return 0; > + > +err: > + msi_mask_irq(entry, mask, ~mask); > + free_msi_irqs(msi); > + return ret; > +} > + > +static void msix_program_entries(struct msi_irqs *msi, > + struct msix_entry *entries) > +{ > + struct msi_desc *entry; > + int i = 0; > + > + list_for_each_entry(entry, &msi->msi_list, list) { > + entries[i].vector = entry->irq; > + irq_set_msi_desc(entry->irq, entry); > + i++; >...
2014 Jul 26
0
[RFC PATCH 10/11] PCI/MSI: Split the generic MSI code into new file
...= arch_setup_msi_irqs(msi, nvec, MSI_TYPE); + if (ret) + goto err; + + /* Set MSI enabled bits */ + msi_set_intx(msi, 0); + msi_set_enable(msi, 1, MSI_TYPE); + msi->msi_enabled = 1; + + return 0; + +err: + msi_mask_irq(entry, mask, ~mask); + free_msi_irqs(msi); + return ret; +} + +static void msix_program_entries(struct msi_irqs *msi, + struct msix_entry *entries) +{ + struct msi_desc *entry; + int i = 0; + + list_for_each_entry(entry, &msi->msi_list, list) { + entries[i].vector = entry->irq; + irq_set_msi_desc(entry->irq, entry); + i++; + } +} + +/** + * msix_capability_init - configure...
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