lkml.org 
[lkml]   [2003]   [Dec]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: 2.6.0-test11-mm1
    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@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:59    [W:2.298 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site