Displaying 6 results from an estimated 6 matches for "mask_msi_irq".
Did you mean:
unmask_msi_irq
2011 Sep 20
0
[PATCH 4/4] x86: split MSI IRQ chip
...goto out;
msi_desc = irq_desc->msi_desc;
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -1882,44 +1882,6 @@ static hw_irq_controller ioapic_level_ty
.set_affinity = set_ioapic_affinity_irq,
};
-static unsigned int startup_msi_irq(struct irq_desc *desc)
-{
- unmask_msi_irq(desc);
- return 0;
-}
-
-static void ack_msi_irq(struct irq_desc *desc)
-{
- irq_complete_move(desc);
- move_native_irq(desc);
-
- if ( msi_maskable_irq(desc->msi_desc) )
- ack_APIC_irq(); /* ACKTYPE_NONE */
-}
-
-static void end_msi_irq(struct irq_desc *desc, u8 vector)
-{
-...
2014 Jul 26
0
[RFC PATCH 10/11] PCI/MSI: Split the generic MSI code into new file
...*desc = irq_data_get_msi(data);
+
+ if (desc->msi_attrib.is_msix) {
+ msix_mask_irq(desc, flag);
+ readl(desc->mask_base); /* Flush write to device */
+ } else {
+ unsigned offset = data->irq - desc->irq;
+ msi_mask_irq(desc, 1 << offset, flag << offset);
+ }
+}
+
+void mask_msi_irq(struct irq_data *data)
+{
+ msi_set_mask_bit(data, 1);
+}
+
+void unmask_msi_irq(struct irq_data *data)
+{
+ msi_set_mask_bit(data, 0);
+}
+
+void msi_set_enable(struct msi_irqs *msi, int enable, int type)
+{
+ if (!msi || !msi->ops || !msi->ops->msi_set_enable)
+ return;
+ msi->ops-&g...
2014 Aug 20
1
[RFC PATCH 10/11] PCI/MSI: Split the generic MSI code into new file
...>msi_attrib.is_msix) {
> + msix_mask_irq(desc, flag);
> + readl(desc->mask_base); /* Flush write to device */
> + } else {
> + unsigned offset = data->irq - desc->irq;
> + msi_mask_irq(desc, 1 << offset, flag << offset);
> + }
> +}
> +
> +void mask_msi_irq(struct irq_data *data)
> +{
> + msi_set_mask_bit(data, 1);
> +}
> +
> +void unmask_msi_irq(struct irq_data *data)
> +{
> + msi_set_mask_bit(data, 0);
> +}
> +
> +void msi_set_enable(struct msi_irqs *msi, int enable, int type)
> +{
> + if (!msi || !msi->ops ||...
2014 Aug 20
1
[RFC PATCH 10/11] PCI/MSI: Split the generic MSI code into new file
...>msi_attrib.is_msix) {
> + msix_mask_irq(desc, flag);
> + readl(desc->mask_base); /* Flush write to device */
> + } else {
> + unsigned offset = data->irq - desc->irq;
> + msi_mask_irq(desc, 1 << offset, flag << offset);
> + }
> +}
> +
> +void mask_msi_irq(struct irq_data *data)
> +{
> + msi_set_mask_bit(data, 1);
> +}
> +
> +void unmask_msi_irq(struct irq_data *data)
> +{
> + msi_set_mask_bit(data, 0);
> +}
> +
> +void msi_set_enable(struct msi_irqs *msi, int enable, int type)
> +{
> + if (!msi || !msi->ops ||...
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