Re: 2.6.0-test11-mm1

From: Zwane Mwaikambo
Date: Wed Dec 17 2003 - 09:03:59 EST


Hullo Andrew,
I believe this was the intention;

On Wed, 17 Dec 2003, Andrew Morton wrote:

> mpparse_es7000.patch
> mpparse: fix IRQ breakage from the es7000 merge

For ES7000 add an offset of 16 to the irq in order to setup a mapping where
ISA/legacy interrupts are in the 0-15 range and PCI 16 and above. This was
a cleanup fix in order to facilitate easy differentiating between legacy
and non legacy interrupt setup.

===
The ES7000 merge added a bit of code of offset the IRQ numbers. We're not
too sure why; it wasn't changelogged.

But it broke other systems, so this patch arranges for that code to only be
activated on es7000 machines.



arch/i386/kernel/dmi_scan.c | 1 +
arch/i386/kernel/mpparse.c | 7 +++++--
arch/i386/mach-es7000/es7000.c | 2 --
include/asm-i386/system.h | 1 +
4 files changed, 7 insertions(+), 4 deletions(-)

diff -puN arch/i386/kernel/dmi_scan.c~mpparse_es7000 arch/i386/kernel/dmi_scan.c
--- 25/arch/i386/kernel/dmi_scan.c~mpparse_es7000 2003-11-21 01:30:11.000000000 -0800
+++ 25-akpm/arch/i386/kernel/dmi_scan.c 2003-11-21 01:30:11.000000000 -0800
@@ -16,6 +16,7 @@ EXPORT_SYMBOL(dmi_broken);

int is_sony_vaio_laptop;
int is_unsafe_smbus;
+int es7000_plat = 0;

struct dmi_header
{
diff -puN arch/i386/kernel/mpparse.c~mpparse_es7000 arch/i386/kernel/mpparse.c
--- 25/arch/i386/kernel/mpparse.c~mpparse_es7000 2003-11-21 01:30:11.000000000 -0800
+++ 25-akpm/arch/i386/kernel/mpparse.c 2003-11-21 01:30:11.000000000 -0800
@@ -1129,8 +1129,11 @@ void __init mp_parse_prt (void)
continue;
ioapic_pin = irq - mp_ioapic_routing[ioapic].irq_start;

- if (!ioapic && (irq < 16))
- irq += 16;
+ if (es7000_plat) {
+ if (!ioapic && (irq < 16))
+ irq += 16;
+ }
+
/*
* Avoid pin reprogramming. PRTs typically include entries
* with redundant pin->irq mappings (but unique PCI devices);
diff -puN arch/i386/mach-es7000/es7000.c~mpparse_es7000 arch/i386/mach-es7000/es7000.c
--- 25/arch/i386/mach-es7000/es7000.c~mpparse_es7000 2003-11-21 01:30:11.000000000 -0800
+++ 25-akpm/arch/i386/mach-es7000/es7000.c 2003-11-21 01:30:11.000000000 -0800
@@ -51,8 +51,6 @@ struct mip_reg *host_reg;
int mip_port;
unsigned long mip_addr, host_addr;

-static int es7000_plat;
-
/*
* Parse the OEM Table
*/
diff -puN include/asm-i386/system.h~mpparse_es7000 include/asm-i386/system.h
--- 25/include/asm-i386/system.h~mpparse_es7000 2003-11-21 01:30:11.000000000 -0800
+++ 25-akpm/include/asm-i386/system.h 2003-11-21 01:30:11.000000000 -0800
@@ -470,6 +470,7 @@ void enable_hlt(void);

extern unsigned long dmi_broken;
extern int is_sony_vaio_laptop;
+extern int es7000_plat;

#define BROKEN_ACPI_Sx 0x0001
#define BROKEN_INIT_AFTER_S1 0x0002

_
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/