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