search for: msi_irqs

Displaying 20 results from an estimated 24 matches for "msi_irqs".

2014 Aug 20
1
[RFC PATCH 10/11] PCI/MSI: Split the generic MSI code into new file
...> > +#include <linux/smp.h> > +#include <linux/errno.h> > +#include <linux/io.h> > +#include <linux/slab.h> > +#include <linux/device.h> > +#include <linux/pci.h> > + > +/* Arch hooks */ > + > +int __weak arch_setup_msi_irq(struct msi_irqs *msi, struct msi_desc *desc) > +{ > + struct pci_dev *dev = msi->data; > + struct msi_chip *chip = dev->bus->msi; //TO BE DONE: rework msi_chip to > support Non-PCI MSI > + int err; > + > + if (!chip || !chip->setup_irq) > + return -EINVAL; > + > + err = c...
2014 Aug 20
1
[RFC PATCH 10/11] PCI/MSI: Split the generic MSI code into new file
...> > +#include <linux/smp.h> > +#include <linux/errno.h> > +#include <linux/io.h> > +#include <linux/slab.h> > +#include <linux/device.h> > +#include <linux/pci.h> > + > +/* Arch hooks */ > + > +int __weak arch_setup_msi_irq(struct msi_irqs *msi, struct msi_desc *desc) > +{ > + struct pci_dev *dev = msi->data; > + struct msi_chip *chip = dev->bus->msi; //TO BE DONE: rework msi_chip to > support Non-PCI MSI > + int err; > + > + if (!chip || !chip->setup_irq) > + return -EINVAL; > + > + err = c...
2014 Jul 26
0
[RFC PATCH 10/11] PCI/MSI: Split the generic MSI code into new file
...<linux/proc_fs.h> +#include <linux/msi.h> +#include <linux/smp.h> +#include <linux/errno.h> +#include <linux/io.h> +#include <linux/slab.h> +#include <linux/device.h> +#include <linux/pci.h> + +/* Arch hooks */ + +int __weak arch_setup_msi_irq(struct msi_irqs *msi, struct msi_desc *desc) +{ + struct pci_dev *dev = msi->data; + struct msi_chip *chip = dev->bus->msi; //TO BE DONE: rework msi_chip to support Non-PCI MSI + int err; + + if (!chip || !chip->setup_irq) + return -EINVAL; + + err = chip->setup_irq(chip, dev, desc); + if (err <...
2014 Aug 20
1
[RFC PATCH 11/11] x86/MSI: Refactor x86 MSI code
...native_setup_ioapic_entry(int, struct > IO_APIC_route_entry *, > struct io_apic_irq_attr *); > extern void eoi_ioapic_irq(unsigned int irq, struct irq_cfg *cfg); > > -extern void native_compose_msi_msg(struct pci_dev *pdev, > +extern void native_compose_msi_msg(struct msi_irqs *msi, > unsigned int irq, unsigned int dest, > struct msi_msg *msg, u8 hpet_id); > extern void native_eoi_ioapic_pin(int apic, int pin, int vector); > diff --git a/arch/x86/include/asm/irq_remapping.h > b/arch/x86/include/asm/irq_remapping.h > index b7747c4..a1000...
2014 Aug 20
1
[RFC PATCH 11/11] x86/MSI: Refactor x86 MSI code
...native_setup_ioapic_entry(int, struct > IO_APIC_route_entry *, > struct io_apic_irq_attr *); > extern void eoi_ioapic_irq(unsigned int irq, struct irq_cfg *cfg); > > -extern void native_compose_msi_msg(struct pci_dev *pdev, > +extern void native_compose_msi_msg(struct msi_irqs *msi, > unsigned int irq, unsigned int dest, > struct msi_msg *msg, u8 hpet_id); > extern void native_eoi_ioapic_pin(int apic, int pin, int vector); > diff --git a/arch/x86/include/asm/irq_remapping.h > b/arch/x86/include/asm/irq_remapping.h > index b7747c4..a1000...
2014 Jul 26
0
[RFC PATCH 11/11] x86/MSI: Refactor x86 MSI code
...@ -158,7 +158,7 @@ extern int native_setup_ioapic_entry(int, struct IO_APIC_route_entry *, struct io_apic_irq_attr *); extern void eoi_ioapic_irq(unsigned int irq, struct irq_cfg *cfg); -extern void native_compose_msi_msg(struct pci_dev *pdev, +extern void native_compose_msi_msg(struct msi_irqs *msi, unsigned int irq, unsigned int dest, struct msi_msg *msg, u8 hpet_id); extern void native_eoi_ioapic_pin(int apic, int pin, int vector); diff --git a/arch/x86/include/asm/irq_remapping.h b/arch/x86/include/asm/irq_remapping.h index b7747c4..a10003d 100644 --- a/arch/x86/inclu...
2014 Jul 26
20
[RFC PATCH 00/11] Refactor MSI to support Non-PCI device
...nsolidator. Consolidator can translate the legacy interrupts connected to it to MSI/MSI-X. And new non-PCI device will be designed to support MSI in future. So make the MSI 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 sho...
2014 Jul 26
20
[RFC PATCH 00/11] Refactor MSI to support Non-PCI device
...nsolidator. Consolidator can translate the legacy interrupts connected to it to MSI/MSI-X. And new non-PCI device will be designed to support MSI in future. So make the MSI 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 sho...
2014 Aug 20
1
[RFC PATCH 09/11] PCI/MSI: refactor PCI MSI driver
...ts.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/linux/pci.h | 11 +- > 3 files changed, 222 inserti...
2014 Aug 20
1
[RFC PATCH 09/11] PCI/MSI: refactor PCI MSI driver
...ts.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/linux/pci.h | 11 +- > 3 files changed, 222 inserti...
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 changed, 222 insertions(+), 154 deletions(-) diff --gi...
2014 Jul 29
0
[RFC PATCH 00/11] Refactor MSI to support Non-PCI device
...ranslate the legacy interrupts connected to it > to MSI/MSI-X. And new non-PCI device will be designed to > support MSI in future. So make the MSI 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...
2014 Jul 30
4
[RFC PATCH 00/11] Refactor MSI to support Non-PCI device
...errupts connected to it >> to MSI/MSI-X. And new non-PCI device will be designed to >> support MSI in future. So make the MSI 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 */ >>...
2014 Jul 30
4
[RFC PATCH 00/11] Refactor MSI to support Non-PCI device
...errupts connected to it >> to MSI/MSI-X. And new non-PCI device will be designed to >> support MSI in future. So make the MSI 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 */ >>...
2014 Jul 30
0
[RFC PATCH 00/11] Refactor MSI to support Non-PCI device
...MSI-X. And new non-PCI device will be designed to >>>> support MSI in future. So make the MSI 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;...
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 30
1
[RFC PATCH 00/11] Refactor MSI to support Non-PCI device
...>>> to MSI/MSI-X. And new non-PCI device will be designed to >>> support MSI in future. So make the MSI 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 speci...
2014 Jul 30
1
[RFC PATCH 00/11] Refactor MSI to support Non-PCI device
...>>> to MSI/MSI-X. And new non-PCI device will be designed to >>> support MSI in future. So make the MSI 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 speci...
2014 Aug 01
0
[RFC PATCH 00/11] Refactor MSI to support Non-PCI device
On Wednesday 30 July 2014, Yijing Wang wrote: > On 2014/7/29 22:08, Arnd Bergmann wrote: > > On Saturday 26 July 2014 11:08:37 Yijing Wang wrote: > >> > >> 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...