search for: msi_ops

Displaying 20 results from an estimated 21 matches for "msi_ops".

Did you mean: fs_ops
2014 Jul 29
0
[RFC PATCH 00/11] Refactor MSI to support Non-PCI device
...t; > The new data struct for generic MSI driver. > struct msi_irqs { > u8 msi_enabled:1; /* Enable flag */ > u8 msix_enabled:1; > struct list_head msi_list; /* MSI desc list */ > void *data; /* help to find the MSI device */ > struct msi_ops *ops; /* MSI device specific hook */ > }; > struct msi_irqs is used to manage MSI related informations. Every device supports > MSI should contain this data struct and allocate it. I think you should have a stronger association with the 'struct device' here. Can you replace the ...
2014 Jul 30
4
[RFC PATCH 00/11] Refactor MSI to support Non-PCI device
...ruct for generic MSI driver. >> struct msi_irqs { >> u8 msi_enabled:1; /* Enable flag */ >> u8 msix_enabled:1; >> struct list_head msi_list; /* MSI desc list */ >> void *data; /* help to find the MSI device */ >> struct msi_ops *ops; /* MSI device specific hook */ >> }; >> struct msi_irqs is used to manage MSI related informations. Every device supports >> MSI should contain this data struct and allocate it. > > I think you should have a stronger association with the 'struct > device' h...
2014 Jul 30
4
[RFC PATCH 00/11] Refactor MSI to support Non-PCI device
...ruct for generic MSI driver. >> struct msi_irqs { >> u8 msi_enabled:1; /* Enable flag */ >> u8 msix_enabled:1; >> struct list_head msi_list; /* MSI desc list */ >> void *data; /* help to find the MSI device */ >> struct msi_ops *ops; /* MSI device specific hook */ >> }; >> struct msi_irqs is used to manage MSI related informations. Every device supports >> MSI should contain this data struct and allocate it. > > I think you should have a stronger association with the 'struct > device' h...
2014 Jul 30
0
[RFC PATCH 00/11] Refactor MSI to support Non-PCI device
...ruct msi_irqs { >>>> u8 msi_enabled:1; /* Enable flag */ >>>> u8 msix_enabled:1; >>>> struct list_head msi_list; /* MSI desc list */ >>>> void *data; /* help to find the MSI device */ >>>> struct msi_ops *ops; /* MSI device specific hook */ >>>> }; >>>> struct msi_irqs is used to manage MSI related informations. Every device supports >>>> MSI should contain this data struct and allocate it. >>> >>> I think you should have a stronger association...
2014 Jul 30
1
[RFC PATCH 00/11] Refactor MSI to support Non-PCI device
...ver. >>> struct msi_irqs { >>> u8 msi_enabled:1; /* Enable flag */ >>> u8 msix_enabled:1; >>> struct list_head msi_list; /* MSI desc list */ >>> void *data; /* help to find the MSI device */ >>> struct msi_ops *ops; /* MSI device specific hook */ >>> }; >>> struct msi_irqs is used to manage MSI related informations. Every device supports >>> MSI should contain this data struct and allocate it. >> >> I think you should have a stronger association with the 'struct...
2014 Jul 30
1
[RFC PATCH 00/11] Refactor MSI to support Non-PCI device
...ver. >>> struct msi_irqs { >>> u8 msi_enabled:1; /* Enable flag */ >>> u8 msix_enabled:1; >>> struct list_head msi_list; /* MSI desc list */ >>> void *data; /* help to find the MSI device */ >>> struct msi_ops *ops; /* MSI device specific hook */ >>> }; >>> struct msi_irqs is used to manage MSI related informations. Every device supports >>> MSI should contain this data struct and allocate it. >> >> I think you should have a stronger association with the 'struct...
2009 May 20
9
[PATCH] qemu: msi irq allocation api
...ic_update_msi(qemu_irq irq, uint64_t addr, uint32_t data, + int masked) +{ + struct msi_state *state = qemu_irq_get_opaque(irq); + int vector = qemu_irq_get_vector(irq); + state[vector].addr = addr; + state[vector].data = data; + return 0; +} + +struct pci_msi_ops ioapic_msi_ops = { + .allocate = ioapic_allocate_msi, + .update = ioapic_update_msi, + .free = ioapic_free_msi, +}; + diff --git a/hw/irq.c b/hw/irq.c index 7703f62..9180381 100644 --- a/hw/irq.c +++ b/hw/irq.c @@ -75,3 +75,13 @@ qemu_irq qemu_irq_invert(qemu_irq irq) qemu_irq_raise(i...
2009 May 20
9
[PATCH] qemu: msi irq allocation api
...ic_update_msi(qemu_irq irq, uint64_t addr, uint32_t data, + int masked) +{ + struct msi_state *state = qemu_irq_get_opaque(irq); + int vector = qemu_irq_get_vector(irq); + state[vector].addr = addr; + state[vector].data = data; + return 0; +} + +struct pci_msi_ops ioapic_msi_ops = { + .allocate = ioapic_allocate_msi, + .update = ioapic_update_msi, + .free = ioapic_free_msi, +}; + diff --git a/hw/irq.c b/hw/irq.c index 7703f62..9180381 100644 --- a/hw/irq.c +++ b/hw/irq.c @@ -75,3 +75,13 @@ qemu_irq qemu_irq_invert(qemu_irq irq) qemu_irq_raise(i...
2014 Aug 20
1
[RFC PATCH 09/11] PCI/MSI: refactor PCI MSI driver
.... Bottomley; Marc Zyngier; linux-arm- > kernel at lists.infradead.org; Russell King; linux-arch at vger.kernel.org; Basu > Arnab-B45036; virtualization at lists.linux-foundation.org; Hanjun Guo; Yijing Wang > Subject: [RFC PATCH 09/11] PCI/MSI: refactor PCI MSI driver > > Use struct msi_ops to hook PCI MSI operations, > and use struct msi_irqs to refactor PCI MSI drvier. > > Signed-off-by: Yijing Wang <wangyijing at huawei.com> > --- > drivers/pci/msi.c | 351 ++++++++++++++++++++++++++++++--------------------- > include/linux/msi.h | 14 +- > include...
2014 Aug 20
1
[RFC PATCH 09/11] PCI/MSI: refactor PCI MSI driver
.... Bottomley; Marc Zyngier; linux-arm- > kernel at lists.infradead.org; Russell King; linux-arch at vger.kernel.org; Basu > Arnab-B45036; virtualization at lists.linux-foundation.org; Hanjun Guo; Yijing Wang > Subject: [RFC PATCH 09/11] PCI/MSI: refactor PCI MSI driver > > Use struct msi_ops to hook PCI MSI operations, > and use struct msi_irqs to refactor PCI MSI drvier. > > Signed-off-by: Yijing Wang <wangyijing at huawei.com> > --- > drivers/pci/msi.c | 351 ++++++++++++++++++++++++++++++--------------------- > include/linux/msi.h | 14 +- > include...
2014 Aug 20
1
[RFC PATCH 10/11] PCI/MSI: Split the generic MSI code into new file
...>kobj.parent) { > + kobject_del(&entry->kobj); > + kobject_put(&entry->kobj); > + } > + > + list_del(&entry->list); > + kfree(entry); > + } > +} > +EXPORT_SYMBOL(free_msi_irqs); > + > +struct msi_irqs *alloc_msi_irqs(void *data, struct msi_ops *ops) > +{ > + struct msi_irqs *msi; > + > + msi = kzalloc(sizeof(struct msi_irqs), GFP_KERNEL); > + if (!msi) > + return NULL; > + > + INIT_LIST_HEAD(&msi->msi_list); > + msi->data = data; > + msi->ops = ops; > + return msi; > +} > +EXPORT_SYMBO...
2014 Aug 20
1
[RFC PATCH 10/11] PCI/MSI: Split the generic MSI code into new file
...>kobj.parent) { > + kobject_del(&entry->kobj); > + kobject_put(&entry->kobj); > + } > + > + list_del(&entry->list); > + kfree(entry); > + } > +} > +EXPORT_SYMBOL(free_msi_irqs); > + > +struct msi_irqs *alloc_msi_irqs(void *data, struct msi_ops *ops) > +{ > + struct msi_irqs *msi; > + > + msi = kzalloc(sizeof(struct msi_irqs), GFP_KERNEL); > + if (!msi) > + return NULL; > + > + INIT_LIST_HEAD(&msi->msi_list); > + msi->data = data; > + msi->ops = ops; > + return msi; > +} > +EXPORT_SYMBO...
2014 Jul 26
20
[RFC PATCH 00/11] Refactor MSI to support Non-PCI device
...SI driver code be generic will help the non-PCI device use MSI more simply. The new data struct for generic MSI driver. struct msi_irqs { u8 msi_enabled:1; /* Enable flag */ u8 msix_enabled:1; struct list_head msi_list; /* MSI desc list */ void *data; /* help to find the MSI device */ struct msi_ops *ops; /* MSI device specific hook */ }; struct msi_irqs is used to manage MSI related informations. Every device supports MSI should contain this data struct and allocate it. struct msi_ops { struct msi_desc *(*msi_setup_entry)(struct msi_irqs *msi, struct msi_desc *entry); int msix_setup_entrie...
2014 Jul 26
20
[RFC PATCH 00/11] Refactor MSI to support Non-PCI device
...SI driver code be generic will help the non-PCI device use MSI more simply. The new data struct for generic MSI driver. struct msi_irqs { u8 msi_enabled:1; /* Enable flag */ u8 msix_enabled:1; struct list_head msi_list; /* MSI desc list */ void *data; /* help to find the MSI device */ struct msi_ops *ops; /* MSI device specific hook */ }; struct msi_irqs is used to manage MSI related informations. Every device supports MSI should contain this data struct and allocate it. struct msi_ops { struct msi_desc *(*msi_setup_entry)(struct msi_irqs *msi, struct msi_desc *entry); int msix_setup_entrie...
2014 Jul 26
0
[RFC PATCH 10/11] PCI/MSI: Split the generic MSI code into new file
...e don't + * unregister them. + */ + if (entry->kobj.parent) { + kobject_del(&entry->kobj); + kobject_put(&entry->kobj); + } + + list_del(&entry->list); + kfree(entry); + } +} +EXPORT_SYMBOL(free_msi_irqs); + +struct msi_irqs *alloc_msi_irqs(void *data, struct msi_ops *ops) +{ + struct msi_irqs *msi; + + msi = kzalloc(sizeof(struct msi_irqs), GFP_KERNEL); + if (!msi) + return NULL; + + INIT_LIST_HEAD(&msi->msi_list); + msi->data = data; + msi->ops = ops; + return msi; +} +EXPORT_SYMBOL(alloc_msi_irqs); + +struct msi_desc *alloc_msi_entry(struct msi...
2014 Aug 05
1
[RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled()
On Fri, Jul 25, 2014 at 10:08 PM, Yijing Wang <wangyijing at huawei.com> wrote: > Pci_dev_msi_enabled() is used to check whether device > MSI/MSIX enabled. Refactor this function to suuport > checking only device MSI or MSIX enabled. > > Signed-off-by: Yijing Wang <wangyijing at huawei.com> So this patch refactors things so that checks like this: > - if
2014 Aug 05
1
[RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled()
On Fri, Jul 25, 2014 at 10:08 PM, Yijing Wang <wangyijing at huawei.com> wrote: > Pci_dev_msi_enabled() is used to check whether device > MSI/MSIX enabled. Refactor this function to suuport > checking only device MSI or MSIX enabled. > > Signed-off-by: Yijing Wang <wangyijing at huawei.com> So this patch refactors things so that checks like this: > - if
2014 Jul 26
0
[RFC PATCH 09/11] PCI/MSI: refactor PCI MSI driver
Use struct msi_ops to hook PCI MSI operations, and use struct msi_irqs to refactor PCI MSI drvier. Signed-off-by: Yijing Wang <wangyijing at huawei.com> --- drivers/pci/msi.c | 351 ++++++++++++++++++++++++++++++--------------------- include/linux/msi.h | 14 +- include/linux/pci.h | 11 +- 3 files cha...
2014 Aug 01
0
[RFC PATCH 00/11] Refactor MSI to support Non-PCI device
...gt; >> struct msi_irqs { > >> u8 msi_enabled:1; /* Enable flag */ > >> u8 msix_enabled:1; > >> struct list_head msi_list; /* MSI desc list */ > >> void *data; /* help to find the MSI device */ > >> struct msi_ops *ops; /* MSI device specific hook */ > >> }; > >> struct msi_irqs is used to manage MSI related informations. Every device supports > >> MSI should contain this data struct and allocate it. > > > > I think you should have a stronger association with the '...
2014 Aug 04
2
[RFC PATCH 00/11] Refactor MSI to support Non-PCI device
...ruct msi_irqs { >>>> u8 msi_enabled:1; /* Enable flag */ >>>> u8 msix_enabled:1; >>>> struct list_head msi_list; /* MSI desc list */ >>>> void *data; /* help to find the MSI device */ >>>> struct msi_ops *ops; /* MSI device specific hook */ >>>> }; >>>> struct msi_irqs is used to manage MSI related informations. Every device supports >>>> MSI should contain this data struct and allocate it. >>> >>> I think you should have a stronger association...