lkml.org 
[lkml]   [2014]   [May]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[patch 05/32] x86: irq_remapping: Use irq_alloc/free_hwirq()
The create_irq variants are going away. Use the new interface. The
core and arch code already excludes the gsi interrupts from the
allocation, so no functional change.

This does not replace the requirement to move x86 to irq domains, but
it limits the mess to some degree.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: x86@kernel.org
Cc: Joerg Roedel <joro@8bytes.org>
Cc: iommu@lists.linux-foundation.org
---
drivers/iommu/irq_remapping.c | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)

Index: tip/drivers/iommu/irq_remapping.c
===================================================================
--- tip.orig/drivers/iommu/irq_remapping.c
+++ tip/drivers/iommu/irq_remapping.c
@@ -51,7 +51,7 @@ static void irq_remapping_disable_io_api

static int do_setup_msi_irqs(struct pci_dev *dev, int nvec)
{
- int node, ret, sub_handle, nvec_pow2, index = 0;
+ int ret, sub_handle, nvec_pow2, index = 0;
unsigned int irq;
struct msi_desc *msidesc;

@@ -61,8 +61,7 @@ static int do_setup_msi_irqs(struct pci_
WARN_ON(msidesc->msi_attrib.multiple);
WARN_ON(msidesc->nvec_used);

- node = dev_to_node(&dev->dev);
- irq = __create_irqs(get_nr_irqs_gsi(), nvec, node);
+ irq = irq_alloc_hwirqs(nvec, dev_to_node(&dev->dev));
if (irq == 0)
return -ENOSPC;

@@ -89,7 +88,7 @@ static int do_setup_msi_irqs(struct pci_
return 0;

error:
- destroy_irqs(irq, nvec);
+ irq_free_hwirqs(irq, nvec);

/*
* Restore altered MSI descriptor fields and prevent just destroyed
@@ -109,12 +108,11 @@ static int do_setup_msix_irqs(struct pci
unsigned int irq;

node = dev_to_node(&dev->dev);
- irq = get_nr_irqs_gsi();
sub_handle = 0;

list_for_each_entry(msidesc, &dev->msi_list, list) {

- irq = create_irq_nr(irq, node);
+ irq = irq_alloc_hwirq(node);
if (irq == 0)
return -1;

@@ -137,7 +135,7 @@ static int do_setup_msix_irqs(struct pci
return 0;

error:
- destroy_irq(irq);
+ irq_free_hwirq(irq);
return ret;
}




\
 
 \ /
  Last update: 2014-05-07 21:21    [W:0.493 / U:0.156 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site