Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: ce4100: Configure IOAPIC pins for USB and SATA to level type x86: devicetree: Configure IOAPIC pin only once x86, setup: When probing memory with e801, use ax/bx as a pair
This commit is contained in:
@@ -91,7 +91,7 @@ static int detect_memory_e801(void)
|
|||||||
if (oreg.ax > 15*1024) {
|
if (oreg.ax > 15*1024) {
|
||||||
return -1; /* Bogus! */
|
return -1; /* Bogus! */
|
||||||
} else if (oreg.ax == 15*1024) {
|
} else if (oreg.ax == 15*1024) {
|
||||||
boot_params.alt_mem_k = (oreg.dx << 6) + oreg.ax;
|
boot_params.alt_mem_k = (oreg.bx << 6) + oreg.ax;
|
||||||
} else {
|
} else {
|
||||||
/*
|
/*
|
||||||
* This ignores memory above 16MB if we have a memory
|
* This ignores memory above 16MB if we have a memory
|
||||||
|
@@ -150,7 +150,7 @@ void setup_IO_APIC_irq_extra(u32 gsi);
|
|||||||
extern void ioapic_and_gsi_init(void);
|
extern void ioapic_and_gsi_init(void);
|
||||||
extern void ioapic_insert_resources(void);
|
extern void ioapic_insert_resources(void);
|
||||||
|
|
||||||
int io_apic_setup_irq_pin(unsigned int irq, int node, struct io_apic_irq_attr *attr);
|
int io_apic_setup_irq_pin_once(unsigned int irq, int node, struct io_apic_irq_attr *attr);
|
||||||
|
|
||||||
extern struct IO_APIC_route_entry **alloc_ioapic_entries(void);
|
extern struct IO_APIC_route_entry **alloc_ioapic_entries(void);
|
||||||
extern void free_ioapic_entries(struct IO_APIC_route_entry **ioapic_entries);
|
extern void free_ioapic_entries(struct IO_APIC_route_entry **ioapic_entries);
|
||||||
|
@@ -128,7 +128,7 @@ static int __init parse_noapic(char *str)
|
|||||||
}
|
}
|
||||||
early_param("noapic", parse_noapic);
|
early_param("noapic", parse_noapic);
|
||||||
|
|
||||||
static int io_apic_setup_irq_pin_once(unsigned int irq, int node,
|
static int io_apic_setup_irq_pin(unsigned int irq, int node,
|
||||||
struct io_apic_irq_attr *attr);
|
struct io_apic_irq_attr *attr);
|
||||||
|
|
||||||
/* Will be called in mpparse/acpi/sfi codes for saving IRQ info */
|
/* Will be called in mpparse/acpi/sfi codes for saving IRQ info */
|
||||||
@@ -3570,7 +3570,7 @@ int arch_setup_ht_irq(unsigned int irq, struct pci_dev *dev)
|
|||||||
}
|
}
|
||||||
#endif /* CONFIG_HT_IRQ */
|
#endif /* CONFIG_HT_IRQ */
|
||||||
|
|
||||||
int
|
static int
|
||||||
io_apic_setup_irq_pin(unsigned int irq, int node, struct io_apic_irq_attr *attr)
|
io_apic_setup_irq_pin(unsigned int irq, int node, struct io_apic_irq_attr *attr)
|
||||||
{
|
{
|
||||||
struct irq_cfg *cfg = alloc_irq_and_cfg_at(irq, node);
|
struct irq_cfg *cfg = alloc_irq_and_cfg_at(irq, node);
|
||||||
@@ -3585,7 +3585,7 @@ io_apic_setup_irq_pin(unsigned int irq, int node, struct io_apic_irq_attr *attr)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int io_apic_setup_irq_pin_once(unsigned int irq, int node,
|
int io_apic_setup_irq_pin_once(unsigned int irq, int node,
|
||||||
struct io_apic_irq_attr *attr)
|
struct io_apic_irq_attr *attr)
|
||||||
{
|
{
|
||||||
unsigned int id = attr->ioapic, pin = attr->ioapic_pin;
|
unsigned int id = attr->ioapic, pin = attr->ioapic_pin;
|
||||||
|
@@ -391,7 +391,7 @@ static int ioapic_xlate(struct irq_domain *id, const u32 *intspec, u32 intsize,
|
|||||||
|
|
||||||
set_io_apic_irq_attr(&attr, idx, line, it->trigger, it->polarity);
|
set_io_apic_irq_attr(&attr, idx, line, it->trigger, it->polarity);
|
||||||
|
|
||||||
return io_apic_setup_irq_pin(*out_hwirq, cpu_to_node(0), &attr);
|
return io_apic_setup_irq_pin_once(*out_hwirq, cpu_to_node(0), &attr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __init ioapic_add_ofnode(struct device_node *np)
|
static void __init ioapic_add_ofnode(struct device_node *np)
|
||||||
|
@@ -347,7 +347,7 @@
|
|||||||
"pciclass0c03";
|
"pciclass0c03";
|
||||||
|
|
||||||
reg = <0x16800 0x0 0x0 0x0 0x0>;
|
reg = <0x16800 0x0 0x0 0x0 0x0>;
|
||||||
interrupts = <22 3>;
|
interrupts = <22 1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
usb@d,1 {
|
usb@d,1 {
|
||||||
@@ -357,7 +357,7 @@
|
|||||||
"pciclass0c03";
|
"pciclass0c03";
|
||||||
|
|
||||||
reg = <0x16900 0x0 0x0 0x0 0x0>;
|
reg = <0x16900 0x0 0x0 0x0 0x0>;
|
||||||
interrupts = <22 3>;
|
interrupts = <22 1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sata@e,0 {
|
sata@e,0 {
|
||||||
@@ -367,7 +367,7 @@
|
|||||||
"pciclass0106";
|
"pciclass0106";
|
||||||
|
|
||||||
reg = <0x17000 0x0 0x0 0x0 0x0>;
|
reg = <0x17000 0x0 0x0 0x0 0x0>;
|
||||||
interrupts = <23 3>;
|
interrupts = <23 1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
flash@f,0 {
|
flash@f,0 {
|
||||||
|
Reference in New Issue
Block a user