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...