[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <477711DC.5030800@keyaccess.nl>
Date: Sun, 30 Dec 2007 04:34:52 +0100
From: Rene Herman <rene.herman@...access.nl>
To: Linus Torvalds <torvalds@...ux-foundation.org>
CC: dpreed@...d.com, Islam Amer <pharon@...il.com>,
Alan Cox <alan@...rguk.ukuu.org.uk>, hpa@...or.com,
Pavel Machek <pavel@....cz>, Ingo Molnar <mingo@...hat.com>,
Andi Kleen <andi@...stfloor.org>,
Thomas Gleixner <tglx@...utronix.de>,
Linux Kernel <linux-kernel@...r.kernel.org>
Subject: [PATCH] x86: provide a DMI based port 0x80 I/O delay override
Hi Linus.
[ resend, forgot the CC to linux-kernel. sorry ]
This fixes "hwclock" triggered boottime hangs for a few HP/Compaq laptops
and might as such be applicable to 2.6.24 still.
The kernel's use of an outb to port 0x80 as an I/O delay disagrees with
these machines (after ACPI is live, that is) and this provides for a DMI
based switch to alternate port 0xed for them.
Complete changelog inside the patch.
An evolved version of this patch that also supplies udelay(2) and <nothing>
as I/O delay lives in the x86.git tree as well but Alan Cox suggested those
choices shouldn't yet be provided as he's finding races in drivers on SMP
without the bus-locking outb.
As a minimal version I thought you might perhaps want to take this as a
specific fix for the afflicted laptops for 2.6.24. H. Peter Anvin earlier
agreed it would be minimal enough for that.
It was tested on both of the afflicted machines the DMI strings cover and
doesn't change anything on others by default. It also introduces a bootparam
io_delay=<standard|alternate> to make (or override) the choice manually.
Documentation/kernel-parameters.txt | 6 ++
arch/x86/boot/compressed/misc_32.c | 8 +--
arch/x86/boot/compressed/misc_64.c | 8 +--
arch/x86/kernel/Makefile_32 | 2
arch/x86/kernel/Makefile_64 | 2
arch/x86/kernel/io_delay.c | 77
++++++++++++++++++++++++++++++++++++
arch/x86/kernel/setup_32.c | 2
arch/x86/kernel/setup_64.c | 2
include/asm-x86/io_32.h | 6 --
include/asm-x86/io_64.h | 27 +++++++-----
10 files changed, 115 insertions(+), 25 deletions(-)
Rene.
View attachment "dmi-port80-minimal-bootparam.diff" of type "text/plain" (11205 bytes)
Powered by blists - more mailing lists