x86, apic: Move SGI UV functionality out of generic IO-APIC code
Move UV specific functionality out of the generic IO-APIC code. Signed-off-by: Dimitri Sivanich <sivanich@sgi.com> LKML-Reference: <20091013203236.GD20543@sgi.com> [ Cleaned up the code some more in their new places. ] Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
committed by
Ingo Molnar
parent
6c2c502910
commit
9338ad6ffb
@@ -79,14 +79,31 @@ static inline void set_io_apic_irq_attr(struct io_apic_irq_attr *irq_attr,
|
||||
int ioapic, int ioapic_pin,
|
||||
int trigger, int polarity)
|
||||
{
|
||||
irq_attr->ioapic = ioapic;
|
||||
irq_attr->ioapic_pin = ioapic_pin;
|
||||
irq_attr->trigger = trigger;
|
||||
irq_attr->polarity = polarity;
|
||||
irq_attr->ioapic = ioapic;
|
||||
irq_attr->ioapic_pin = ioapic_pin;
|
||||
irq_attr->trigger = trigger;
|
||||
irq_attr->polarity = polarity;
|
||||
}
|
||||
|
||||
extern int IO_APIC_get_PCI_irq_vector(int bus, int devfn, int pin,
|
||||
struct io_apic_irq_attr *irq_attr);
|
||||
/*
|
||||
* This is performance-critical, we want to do it O(1)
|
||||
*
|
||||
* Most irqs are mapped 1:1 with pins.
|
||||
*/
|
||||
struct irq_cfg {
|
||||
struct irq_pin_list *irq_2_pin;
|
||||
cpumask_var_t domain;
|
||||
cpumask_var_t old_domain;
|
||||
unsigned move_cleanup_count;
|
||||
u8 vector;
|
||||
u8 move_in_progress : 1;
|
||||
};
|
||||
|
||||
extern struct irq_cfg *irq_cfg(unsigned int);
|
||||
extern int assign_irq_vector(int, struct irq_cfg *, const struct cpumask *);
|
||||
extern void send_cleanup_vector(struct irq_cfg *);
|
||||
extern unsigned int set_desc_affinity(struct irq_desc *, const struct cpumask *);
|
||||
extern int IO_APIC_get_PCI_irq_vector(int bus, int devfn, int pin, struct io_apic_irq_attr *irq_attr);
|
||||
extern void setup_ioapic_dest(void);
|
||||
|
||||
extern void enable_IO_APIC(void);
|
||||
|
Reference in New Issue
Block a user