diff options
author | Yinghai Lu <yinghai@kernel.org> | 2009-08-26 19:21:54 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-08-29 09:53:01 -0400 |
commit | 70590ea75b7f9ef4846b0b0f4400e8338dbcc7eb (patch) | |
tree | 80ed6dda2d0752a6ed9a16088e4e77b9a6eacbaf /drivers/pci/intr_remapping.c | |
parent | 5bfb5b51382f4bd01d9ced11503264d2cc74fe41 (diff) |
pci/intr_remapping: Allocate irq_iommu on node
make it use the node from irq_desc.
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
LKML-Reference: <4A95C392.5050903@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'drivers/pci/intr_remapping.c')
-rw-r--r-- | drivers/pci/intr_remapping.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/drivers/pci/intr_remapping.c b/drivers/pci/intr_remapping.c index 4f5b8712931f..44803644ca05 100644 --- a/drivers/pci/intr_remapping.c +++ b/drivers/pci/intr_remapping.c | |||
@@ -55,15 +55,12 @@ static struct irq_2_iommu *irq_2_iommu(unsigned int irq) | |||
55 | return desc->irq_2_iommu; | 55 | return desc->irq_2_iommu; |
56 | } | 56 | } |
57 | 57 | ||
58 | static struct irq_2_iommu *irq_2_iommu_alloc_node(unsigned int irq, int node) | 58 | static struct irq_2_iommu *irq_2_iommu_alloc(unsigned int irq) |
59 | { | 59 | { |
60 | struct irq_desc *desc; | 60 | struct irq_desc *desc; |
61 | struct irq_2_iommu *irq_iommu; | 61 | struct irq_2_iommu *irq_iommu; |
62 | 62 | ||
63 | /* | 63 | desc = irq_to_desc(irq); |
64 | * alloc irq desc if not allocated already. | ||
65 | */ | ||
66 | desc = irq_to_desc_alloc_node(irq, node); | ||
67 | if (!desc) { | 64 | if (!desc) { |
68 | printk(KERN_INFO "can not get irq_desc for %d\n", irq); | 65 | printk(KERN_INFO "can not get irq_desc for %d\n", irq); |
69 | return NULL; | 66 | return NULL; |
@@ -72,16 +69,11 @@ static struct irq_2_iommu *irq_2_iommu_alloc_node(unsigned int irq, int node) | |||
72 | irq_iommu = desc->irq_2_iommu; | 69 | irq_iommu = desc->irq_2_iommu; |
73 | 70 | ||
74 | if (!irq_iommu) | 71 | if (!irq_iommu) |
75 | desc->irq_2_iommu = get_one_free_irq_2_iommu(node); | 72 | desc->irq_2_iommu = get_one_free_irq_2_iommu(irq_node(irq)); |
76 | 73 | ||
77 | return desc->irq_2_iommu; | 74 | return desc->irq_2_iommu; |
78 | } | 75 | } |
79 | 76 | ||
80 | static struct irq_2_iommu *irq_2_iommu_alloc(unsigned int irq) | ||
81 | { | ||
82 | return irq_2_iommu_alloc_node(irq, cpu_to_node(boot_cpu_id)); | ||
83 | } | ||
84 | |||
85 | #else /* !CONFIG_SPARSE_IRQ */ | 77 | #else /* !CONFIG_SPARSE_IRQ */ |
86 | 78 | ||
87 | static struct irq_2_iommu irq_2_iommuX[NR_IRQS]; | 79 | static struct irq_2_iommu irq_2_iommuX[NR_IRQS]; |