Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2010-10-12 | genirq: Remove the now unused sparse irq leftovers | Thomas Gleixner | 6 | -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-12 | genirq: Sanitize dynamic irq handling | Thomas Gleixner | 4 | -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-12 | genirq: Remove arch_init_chip_data() | Thomas Gleixner | 3 | -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-12 | x86: xen: Sanitise sparse_irq handling | Thomas Gleixner | 1 | -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-12 | x86: Use sane enumeration | Thomas Gleixner | 1 | -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-12 | x86: uv: Clean up the direct access to irq_desc | Thomas Gleixner | 3 | -38/+20 | |
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> | |||||
2010-10-12 | x86: Make io_apic.c local functions static | Thomas Gleixner | 2 | -11/+5 | |
No users outside of io_apic.c Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> | |||||
2010-10-12 | genirq: Remove irq_2_iommu | Thomas Gleixner | 2 | -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-12 | x86: Speed up the irq_remapped check in hot pathes | Thomas Gleixner | 4 | -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-12 | intr_remap: Simplify the code further | Thomas Gleixner | 1 | -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-12 | intr_remap: Use irq_2_iommu in struct irq_cfg | Thomas Gleixner | 1 | -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-12 | x86: Embedd irq_2_iommu into irq_cfg | Thomas Gleixner | 3 | -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-12 | pci: intr_remap: Remove unused functions | Thomas Gleixner | 2 | -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-12 | pci: intr_remap: Use irq_data | Thomas Gleixner | 1 | -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-12 | pci: intr-remap: Free irte memory if SPARSE_IRQ=y | Thomas Gleixner | 1 | -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-12 | x86: io_apic: Remove the now unused sparse_irq arch_* functions | Thomas Gleixner | 1 | -120/+0 | |
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> | |||||
2010-10-12 | x86: ioapic: Cleanup sparse irq code | Thomas Gleixner | 2 | -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-12 | x86: Don't setup ioapic irq for sci twice | Yinghai Lu | 1 | -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-12 | x86: io_apic: Prepare alloc/free_irq_cfg() | Thomas Gleixner | 1 | -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-12 | x86: Implement new allocator functions | Thomas Gleixner | 1 | -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-12 | x86: ioapic: Cleanup get_one_free_irq_cfg() | Thomas Gleixner | 1 | -12/+11 | |
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> | |||||
2010-10-12 | x86: ioapic: Cleanup some more | Thomas Gleixner | 1 | -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-12 | x86: Convert ht set_affinity to new chip function | Thomas Gleixner | 1 | -14/+11 | |
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Cc: Jesse Barnes <[email protected]> | |||||
2010-10-12 | x86: Cleanup hpet affinity setting | Thomas Gleixner | 1 | -2/+1 | |
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> | |||||
2010-10-12 | x86: Convert dmar affinity setting to new chip function | Thomas Gleixner | 1 | -13/+12 | |
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Cc: David Woodhouse <[email protected]> | |||||
2010-10-12 | x86: Convert remapped msi to new chip.irq_set_affinity function | Thomas Gleixner | 1 | -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-12 | x86: Convert remapped ioapic affinity setting to new irq chip function | Thomas Gleixner | 1 | -38/+20 | |
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Cc: Suresh Siddha <[email protected]> | |||||
2010-10-12 | x86: Convert msi affinity setting to new chip functions | Thomas Gleixner | 1 | -14/+12 | |
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Cc: Jesse Barnes <[email protected]> | |||||
2010-10-12 | x86: Prepare the affinity common functions for taking struct irq_data * | Thomas Gleixner | 3 | -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-12 | x86: ioapic: Clean up the direct access to irq_desc | Thomas Gleixner | 1 | -51/+28 | |
Most of it is useless pseudo optimization. Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> | |||||
2010-10-12 | ht: Convert to new irq_chip functions | Thomas Gleixner | 3 | -18/+13 | |
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Cc: Jesse Barnes <[email protected]> | |||||
2010-10-12 | dmar: Convert to new irq chip functions | Thomas Gleixner | 4 | -10/+11 | |
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Acked-by: David Woodhouse <[email protected]> | |||||
2010-10-12 | x86: ioapic/hpet: Convert to new chip functions | Thomas Gleixner | 3 | -30/+26 | |
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> | |||||
2010-10-12 | x86: ioapic: Convert mask to new irq_chip function | Thomas Gleixner | 1 | -52/+43 | |
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> | |||||
2010-10-12 | x86: io_apic: Convert startup to new irq_chip function | Thomas Gleixner | 1 | -7/+5 | |
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> | |||||
2010-10-12 | x86: Cleanup io_apic | Thomas Gleixner | 1 | -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-12 | x86: Cleanup access to irq_data | Thomas Gleixner | 2 | -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-12 | x86: i8259: Convert to new irq_chip functions | Thomas Gleixner | 5 | -44/+47 | |
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> | |||||
2010-10-12 | x86: Cleanup visws interrupt handling | Thomas Gleixner | 1 | -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-12 | x86: lguest: Convert to new irq chip functions | Thomas Gleixner | 1 | -7/+7 | |
Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Cc: Rusty Russell <[email protected]> | |||||
2010-10-12 | x86: Sanitize apb timer interrupt handling | Thomas Gleixner | 1 | -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-12 | x86: Convert irq_chip access to new functions | Thomas Gleixner | 1 | -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-12 | x86: Remove useless reinitialization of irq descriptors | Thomas Gleixner | 1 | -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-12 | pci: Cleanup the irq_desc mess in msi | Thomas Gleixner | 3 | -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-12 | pci: Convert msi to new irq_chip functions | Thomas Gleixner | 12 | -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-12 | Merge branch 'x86/urgent' of into irq/sparseirq | Thomas Gleixner | 249 | -1095/+2048 | |
Reason: Pull in the latest io_apic bugfixes Signed-off-by: Thomas Gleixner <[email protected]> | |||||
2010-10-12 | Merge branch 'x86/cleanups' into irq/sparseirq | Thomas Gleixner | 16 | -27/+21 | |
Reason: Avoid conflicts with removal of boot_cpu_id Signed-off-by: Thomas Gleixner <[email protected]> | |||||
2010-10-12 | Merge branch 'x86/x2apic' into irq/sparseirq | Thomas Gleixner | 5 | -28/+34 | |
Reason: Avoid conflicts with the x2apic modifications Signed-off-by: Thomas Gleixner <[email protected]> | |||||
2010-10-12 | genirq: Query arch for number of early descriptors | Thomas Gleixner | 6 | -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-12 | genirq: Use sane sparse allocator | Thomas Gleixner | 1 | -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]> |