aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-10-12genirq: Remove the now unused sparse irq leftoversThomas Gleixner6-266/+4
The move_irq_desc() function was only used due to the problem that the allocator did not free the old descriptors. So the descriptors had to be moved in create_irq_nr(). That's history. The code would have never been able to move active interrupt descriptors on affinity settings. That can be done in a completely different way w/o all this horror. Remove all of it. Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]>
2010-10-12genirq: Sanitize dynamic irq handlingThomas Gleixner4-125/+31
Use the cleanup functions of the dynamic allocator. No need to have separate implementations. Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]>
2010-10-12genirq: Remove arch_init_chip_data()Thomas Gleixner3-10/+0
This function should have not been there in the first place. Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]>
2010-10-12x86: xen: Sanitise sparse_irq handlingThomas Gleixner1-12/+11
There seems to be more cleanups possible, but that's left to the xen experts :) Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Cc: Jeremy Fitzhardinge <[email protected]>
2010-10-12x86: Use sane enumerationThomas Gleixner1-12/+10
Instead of looping through all interrupts, use the bitmap lookup to find the next. Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]>
2010-10-12x86: uv: Clean up the direct access to irq_descThomas Gleixner3-38/+20
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]>
2010-10-12x86: Make io_apic.c local functions staticThomas Gleixner2-11/+5
No users outside of io_apic.c Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]>
2010-10-12genirq: Remove irq_2_iommuThomas Gleixner2-22/+0
irq_2_iommu is now in the x86 code where it belongs. Remove all leftovers. Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Acked-by: Suresh Siddha <[email protected]> Cc: David Woodhouse <[email protected]> Cc: Jesse Barnes <[email protected]>
2010-10-12x86: Speed up the irq_remapped check in hot pathesThomas Gleixner4-15/+14
irq_2_iommu is in struct irq_cfg, so we can do the irq_remapped check based on irq_cfg instead of going through a lookup function. That's especially interesting in the eoi_ioapic_irq() hotpath. Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Acked-by: Suresh Siddha <[email protected]> Cc: David Woodhouse <[email protected]> Cc: Jesse Barnes <[email protected]>
2010-10-12intr_remap: Simplify the code furtherThomas Gleixner1-84/+29
Having irq_2_iommu in struct irq_cfg allows further simplifications. Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Acked-by: Suresh Siddha <[email protected]> Cc: David Woodhouse <[email protected]> Cc: Jesse Barnes <[email protected]>
2010-10-12intr_remap: Use irq_2_iommu in struct irq_cfgThomas Gleixner1-36/+3
Switch the intr_remapping code to use the irq_2_iommu struct in irg_cfg. Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Acked-by: Suresh Siddha <[email protected]> Cc: David Woodhouse <[email protected]> Cc: Jesse Barnes <[email protected]>
2010-10-12x86: Embedd irq_2_iommu into irq_cfgThomas Gleixner3-7/+11
That interrupt remapping code is x86 specific and tied to the io_apic code. No need for separate allocator functions in the interrupt remapping code. This allows to simplify the code and irq_2_iommu is small (13 bytes on 64bit) so it's not a real problem even if interrupt remapping is runtime disabled. If it's compile time disabled the impact is zero. Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Acked-by: Suresh Siddha <[email protected]> Cc: David Woodhouse <[email protected]> Cc: Jesse Barnes <[email protected]>
2010-10-12pci: intr_remap: Remove unused functionsThomas Gleixner2-49/+0
No users. Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Acked-by: Suresh Siddha <[email protected]> Cc: David Woodhouse <[email protected]> Cc: Jesse Barnes <[email protected]>
2010-10-12pci: intr_remap: Use irq_dataThomas Gleixner1-31/+8
No need to dereference irq_desc. Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Acked-by: Suresh Siddha <[email protected]> Cc: David Woodhouse <[email protected]> Cc: Jesse Barnes <[email protected]>
2010-10-12pci: intr-remap: Free irte memory if SPARSE_IRQ=yThomas Gleixner1-0/+14
With SPARSE_IRQ=y the irte descriptors are dynamically allocated, but not freed in free_irte(). That was ok as long as the sparse irq core was not freeing irq descriptors on destroy_irq(). Now we leak the irte descriptor. Free it in free_irte(). Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Acked-by: Suresh Siddha <[email protected]> Cc: David Woodhouse <[email protected]> Cc: Jesse Barnes <[email protected]>
2010-10-12x86: io_apic: Remove the now unused sparse_irq arch_* functionsThomas Gleixner1-120/+0
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]>
2010-10-12x86: ioapic: Cleanup sparse irq codeThomas Gleixner2-60/+48
Switch over to the new allocator and remove all the magic which was caused by the unability to destroy irq descriptors. Get rid of the create_irq_nr() loop for sparse and non sparse irq. Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]>
2010-10-12x86: Don't setup ioapic irq for sci twiceYinghai Lu1-4/+4
The sparseirq rework triggered a warning in the iommu code, which was caused by setting up ioapic for ACPI irq 9 twice. This function is solely to handle interrupts which are on a secondary ioapic and outside the legacy irq range. Replace the sparse irq_to_desc check with a non ifdeffed version. [ tglx: Moved it before the ioapic sparse conversion and simplified the inverse logic ] Signed-off-by: Yinghai Lu <[email protected]> LKML-Reference: <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]>
2010-10-12x86: io_apic: Prepare alloc/free_irq_cfg()Thomas Gleixner1-9/+9
Rename the grossly misnamed get_one_free_irq_cfg() to alloc_irq_cfg(). Add a (not yet used) irq number argument to free_irq_cfg() Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]>
2010-10-12x86: Implement new allocator functionsThomas Gleixner1-7/+47
Implement new allocator functions which make use of the core changes. Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]>
2010-10-12x86: ioapic: Cleanup get_one_free_irq_cfg()Thomas Gleixner1-12/+11
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]>
2010-10-12x86: ioapic: Cleanup some moreThomas Gleixner1-12/+8
Cleanup after the irq_chip conversion a bit. Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]>
2010-10-12x86: Convert ht set_affinity to new chip functionThomas Gleixner1-14/+11
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Cc: Jesse Barnes <[email protected]>
2010-10-12x86: Cleanup hpet affinity settingThomas Gleixner1-2/+1
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]>
2010-10-12x86: Convert dmar affinity setting to new chip functionThomas Gleixner1-13/+12
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Cc: David Woodhouse <[email protected]>
2010-10-12x86: Convert remapped msi to new chip.irq_set_affinity functionThomas Gleixner1-17/+17
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Cc: Suresh Siddha <[email protected]> Cc: Jesse Barnes <[email protected]>
2010-10-12x86: Convert remapped ioapic affinity setting to new irq chip functionThomas Gleixner1-38/+20
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Cc: Suresh Siddha <[email protected]>
2010-10-12x86: Convert msi affinity setting to new chip functionsThomas Gleixner1-14/+12
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Cc: Jesse Barnes <[email protected]>
2010-10-12x86: Prepare the affinity common functions for taking struct irq_data *Thomas Gleixner3-52/+33
While at it rename it to sensible function names and fix the return value from unsigned to int for __ioapic_set_affinity (set_desc_affinity). Returning -1 in a function returning unsigned int is somewhat strange. Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]>
2010-10-12x86: ioapic: Clean up the direct access to irq_descThomas Gleixner1-51/+28
Most of it is useless pseudo optimization. Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]>
2010-10-12ht: Convert to new irq_chip functionsThomas Gleixner3-18/+13
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Cc: Jesse Barnes <[email protected]>
2010-10-12dmar: Convert to new irq chip functionsThomas Gleixner4-10/+11
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Acked-by: David Woodhouse <[email protected]>
2010-10-12x86: ioapic/hpet: Convert to new chip functionsThomas Gleixner3-30/+26
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]>
2010-10-12x86: ioapic: Convert mask to new irq_chip functionThomas Gleixner1-52/+43
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]>
2010-10-12x86: io_apic: Convert startup to new irq_chip functionThomas Gleixner1-7/+5
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]>
2010-10-12x86: Cleanup io_apicThomas Gleixner1-67/+42
Sanitize functions. Remove irq_desc pointer magic. Preparatory patch for further cleanups. Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]>
2010-10-12x86: Cleanup access to irq_dataThomas Gleixner2-32/+33
Fixup the open coded access to irq_desc->[handler_data|chip_data|msi-desc] Use the macros and inline functions for it. Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]>
2010-10-12x86: i8259: Convert to new irq_chip functionsThomas Gleixner5-44/+47
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]>
2010-10-12x86: Cleanup visws interrupt handlingThomas Gleixner1-96/+44
Remove the open coded access to irq_desc and convert to the new irq chip functions. Change the mask function of piix4_virtual_irq_type so we can use the generic irq handling function for the virtual interrupt instead of open coding it. Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]>
2010-10-12x86: lguest: Convert to new irq chip functionsThomas Gleixner1-7/+7
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Cc: Rusty Russell <[email protected]>
2010-10-12x86: Sanitize apb timer interrupt handlingThomas Gleixner1-30/+24
Disable the interrupt in CPU_DEAD where it belongs. Remove the open coded irq_desc manipulation. Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Cc: Jacob Pan <[email protected]>
2010-10-12x86: Convert irq_chip access to new functionsThomas Gleixner1-11/+13
Before moving the irq chips to the new functions, fixup direct callers. The cpu offline irq fixup code needs to become generic and archs need to honour the "force" flag as an indicator, but that's for later. Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]>
2010-10-12x86: Remove useless reinitialization of irq descriptorsThomas Gleixner1-13/+4
The descriptors are already initialized in exactly this way. Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]>
2010-10-12pci: Cleanup the irq_desc mess in msiThomas Gleixner3-21/+15
Handing down irq_desc to msi just so that msi can access irq_desc.irq_data.msi_desc is a pretty stupid idea. The calling code can hand down a pointer to msi_desc so msi code does not need to know about the irq descriptor at all. Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Acked-by: Jesse Barnes <[email protected]>
2010-10-12pci: Convert msi to new irq_chip functionsThomas Gleixner12-51/+52
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Acked-by: Jesse Barnes <[email protected]> Cc: Benjamin Herrenschmidt <[email protected]> Cc: "David S. Miller" <[email protected]> Cc: Tony Luck <[email protected]> Cc: Russell King <[email protected]>
2010-10-12Merge branch 'x86/urgent' of into irq/sparseirqThomas Gleixner249-1095/+2048
Reason: Pull in the latest io_apic bugfixes Signed-off-by: Thomas Gleixner <[email protected]>
2010-10-12Merge branch 'x86/cleanups' into irq/sparseirqThomas Gleixner16-27/+21
Reason: Avoid conflicts with removal of boot_cpu_id Signed-off-by: Thomas Gleixner <[email protected]>
2010-10-12Merge branch 'x86/x2apic' into irq/sparseirqThomas Gleixner5-28/+34
Reason: Avoid conflicts with the x2apic modifications Signed-off-by: Thomas Gleixner <[email protected]>
2010-10-12genirq: Query arch for number of early descriptorsThomas Gleixner6-12/+16
sparse irq sets up NR_IRQS_LEGACY irq descriptors and archs then go ahead and allocate more. Use the unused return value of arch_probe_nr_irqs() to let the architecture return the number of early allocations. Fix up all users. Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]>
2010-10-12genirq: Use sane sparse allocatorThomas Gleixner1-109/+20
Make irq_to_desc_alloc_node() a wrapper around the new allocator. Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]>