Displaying 11 results from an estimated 11 matches for "free_msi_irqs".
2014 Jul 26
0
[RFC PATCH 09/11] PCI/MSI: refactor PCI MSI driver
..._ENTRY_UPPER_ADDR);
writel(msg->data, base + PCI_MSIX_ENTRY_DATA);
} else {
- struct pci_dev *dev = entry->dev;
int pos = dev->msi_cap;
u16 msgctl;
@@ -357,14 +380,34 @@ void write_msi_msg(unsigned int irq, struct msi_msg *msg)
__write_msi_msg(entry, msg);
}
-static void free_msi_irqs(struct pci_dev *dev)
+static void free_msi_sysfs(struct pci_dev *dev)
{
- struct msi_desc *entry, *tmp;
struct attribute **msi_attrs;
struct device_attribute *dev_attr;
int count = 0;
- list_for_each_entry(entry, &dev->msi_list, list) {
+ if (dev->msi_irq_groups) {
+ sysfs_remov...
2014 Aug 20
1
[RFC PATCH 09/11] PCI/MSI: refactor PCI MSI driver
...+ PCI_MSIX_ENTRY_DATA);
> } else {
> - struct pci_dev *dev = entry->dev;
> int pos = dev->msi_cap;
> u16 msgctl;
>
> @@ -357,14 +380,34 @@ void write_msi_msg(unsigned int irq, struct msi_msg *msg)
> __write_msi_msg(entry, msg);
> }
>
> -static void free_msi_irqs(struct pci_dev *dev)
> +static void free_msi_sysfs(struct pci_dev *dev)
> {
> - struct msi_desc *entry, *tmp;
> struct attribute **msi_attrs;
> struct device_attribute *dev_attr;
> int count = 0;
>
> - list_for_each_entry(entry, &dev->msi_list, list) {
> +...
2014 Aug 20
1
[RFC PATCH 09/11] PCI/MSI: refactor PCI MSI driver
...+ PCI_MSIX_ENTRY_DATA);
> } else {
> - struct pci_dev *dev = entry->dev;
> int pos = dev->msi_cap;
> u16 msgctl;
>
> @@ -357,14 +380,34 @@ void write_msi_msg(unsigned int irq, struct msi_msg *msg)
> __write_msi_msg(entry, msg);
> }
>
> -static void free_msi_irqs(struct pci_dev *dev)
> +static void free_msi_sysfs(struct pci_dev *dev)
> {
> - struct msi_desc *entry, *tmp;
> struct attribute **msi_attrs;
> struct device_attribute *dev_attr;
> int count = 0;
>
> - list_for_each_entry(entry, &dev->msi_list, list) {
> +...
2014 Aug 20
1
[RFC PATCH 10/11] PCI/MSI: Split the generic MSI code into new file
...msi_write_message)
> + return;
> + msi->ops->msi_write_message(entry, msg);
> +}
> +
> +void write_msi_msg(unsigned int irq, struct msi_msg *msg)
> +{
> + struct msi_desc *entry = irq_get_msi_desc(irq);
> +
> + __write_msi_msg(entry, msg);
> +}
> +
> +void free_msi_irqs(struct msi_irqs *msi)
> +{
> + struct msi_desc *entry, *tmp;
> +
> + list_for_each_entry(entry, &msi->msi_list, list) {
> + int i, nvec;
> + if (!entry->irq)
> + continue;
> + if (entry->nvec_used)
> + nvec = entry->nvec_used;
> + else
> +...
2014 Aug 20
1
[RFC PATCH 10/11] PCI/MSI: Split the generic MSI code into new file
...msi_write_message)
> + return;
> + msi->ops->msi_write_message(entry, msg);
> +}
> +
> +void write_msi_msg(unsigned int irq, struct msi_msg *msg)
> +{
> + struct msi_desc *entry = irq_get_msi_desc(irq);
> +
> + __write_msi_msg(entry, msg);
> +}
> +
> +void free_msi_irqs(struct msi_irqs *msi)
> +{
> + struct msi_desc *entry, *tmp;
> +
> + list_for_each_entry(entry, &msi->msi_list, list) {
> + int i, nvec;
> + if (!entry->irq)
> + continue;
> + if (entry->nvec_used)
> + nvec = entry->nvec_used;
> + else
> +...
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 10/11] PCI/MSI: Split the generic MSI code into new file
...y->msi;
+
+ if (!msi || !msi->ops || !msi->ops->msi_write_message)
+ return;
+ msi->ops->msi_write_message(entry, msg);
+}
+
+void write_msi_msg(unsigned int irq, struct msi_msg *msg)
+{
+ struct msi_desc *entry = irq_get_msi_desc(irq);
+
+ __write_msi_msg(entry, msg);
+}
+
+void free_msi_irqs(struct msi_irqs *msi)
+{
+ struct msi_desc *entry, *tmp;
+
+ list_for_each_entry(entry, &msi->msi_list, list) {
+ int i, nvec;
+ if (!entry->irq)
+ continue;
+ if (entry->nvec_used)
+ nvec = entry->nvec_used;
+ else
+ nvec = 1 << entry->msi_attrib.multiple;
+ for...
2011 May 11
4
pcifront problem in Ubuntu 10.04 domU
...ss
[ 321.354715] CPU 0
[ 321.354718] Modules linked in: bnx2 lp parport xen_netfront
xen_pcifront xen_blkfront
[ 321.354736]
[ 321.354740] Pid: 711, comm: ifconfig Not tainted
2.6.37-020637-generic #201101050908 /
[ 321.354747] RIP: e030:[<ffffffff81300d7b>] [<ffffffff81300d7b>]
free_msi_irqs+0x8b/0x130
[ 321.354764] RSP: e02b:ffff880003447c58 EFLAGS: 00010286
[ 321.354769] RAX: ffff88003e018000 RBX: 0000000000000000 RCX:
ffff88003dc00680
[ 321.354776] RDX: 0000000000000000 RSI: 00000000000000ff RDI:
ffff88003dc00470
[ 321.354784] RBP: ffff880003447c88 R08: 0000000000000000 R09:
00...
2020 Jul 23
4
[PATCH 1/2] vdpa: ifcvf: return err when fail to request config irq
We ignore the err of requesting config interrupt, fix this.
Fixes: e7991f376a4d ("ifcvf: implement config interrupt in IFCVF")
Cc: Zhu Lingshan <lingshan.zhu at intel.com>
Signed-off-by: Jason Wang <jasowang at redhat.com>
---
drivers/vdpa/ifcvf/ifcvf_main.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/vdpa/ifcvf/ifcvf_main.c
2020 Jul 23
4
[PATCH 1/2] vdpa: ifcvf: return err when fail to request config irq
We ignore the err of requesting config interrupt, fix this.
Fixes: e7991f376a4d ("ifcvf: implement config interrupt in IFCVF")
Cc: Zhu Lingshan <lingshan.zhu at intel.com>
Signed-off-by: Jason Wang <jasowang at redhat.com>
---
drivers/vdpa/ifcvf/ifcvf_main.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/vdpa/ifcvf/ifcvf_main.c