Re: RFC: outb 0x80 in inb_p, outb_p harmful on some modern AMD64 with MCP51 laptops



On Mon 2007-12-17 15:42:51, Ingo Molnar wrote:

* Pavel Machek <pavel@xxxxxx> wrote:

./char/epca.c
./char/sonypi.c
./scsi/megaraid.c
./ide/pci/serverworks.c
./ide/pci/cmd640.c
./input/mouse/pc110pad.c

You are missing some watchdogs at least ?

I snipped them, I only wanted to comment that pc110pad.c looks like
legitimate use of outb_p().

since this code seems to run late during bootup (a mouse driver), could
we replace this with udelay(2), and get rid of that outb_p()? I.e. via
the patch below?

Yes, that should work. But I do not have pc110 to verify it.

Ingo

----------------->
Subject: x86: replace outb_p() with udelay(2) in drivers/input/mouse/pc110pad.c
From: Ingo Molnar <mingo@xxxxxxx>

replace outb_p() with udelay(2). This is a real ISA device so it likely
needs this particular delay.

Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

ACK.


int value = inb_p(pc110pad_io);
int handshake = inb_p(pc110pad_io + 2);

- outb_p(handshake | 1, pc110pad_io + 2);
- outb_p(handshake & ~1, pc110pad_io + 2);
+ outb(handshake | 1, pc110pad_io + 2);
+ udelay(2);
+ outb(handshake & ~1, pc110pad_io + 2);
+ udelay(2);
inb_p(0x64);

pc110pad_data[pc110pad_count++] = value;
--
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/

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
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/