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

2007-12-07 Thread Andi Kleen
David P. Reed [EMAIL PROTECTED] writes: ANy help/suggestions? Use a variable for the port and and do a early quirk to change the port to something safe on your chipset? Ok there might be code using outb_p() before the early quirks, but should be possible to find using instrumentation. Also

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

2007-12-07 Thread Alan Cox
8uS is an ISA bus transaction. You very likely know better but just in case you're confused -- I thought it was 8 cycles... I'll double check. Its a long time since I stuck a scope on an ISA bus -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a

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

2007-12-07 Thread Alan Cox
On Fri, 07 Dec 2007 19:45:25 +0100 Rene Herman [EMAIL PROTECTED] wrote: On 07-12-07 18:19, Alan Cox wrote: On Fri, 7 Dec 2007 17:31:16 +0100 Andi Kleen [EMAIL PROTECTED] wrote: You don't need to. Port 0x80 historically is about 8uS so just udelay(8) and make sure the initial default

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

2007-12-07 Thread Alan Cox
On Fri, 7 Dec 2007 17:31:16 +0100 Andi Kleen [EMAIL PROTECTED] wrote: You don't need to. Port 0x80 historically is about 8uS so just udelay(8) and make sure the initial default delay is conservative enough before the How would you make it conservative enough handling let's say a 6Ghz CPU

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

2007-12-06 Thread Rene Herman
On 07-12-07 08:17, Rene Herman wrote: On 07-12-07 06:54, David P. Reed wrote: Pardon my ignorance, but is port 0xed really safe to push an out cycle at across the entire x86_64 family? Please do not top-post. Who knows, probably not. You just experienced that 0x80 is apparently not safe

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

2007-12-06 Thread Rene Herman
On 07-12-07 06:54, David P. Reed wrote: Pardon my ignorance, but is port 0xed really safe to push an out cycle at across the entire x86_64 family? Please do not top-post. Who knows, probably not. You just experienced that 0x80 is apparently not safe for you and that one's the conventional

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

2007-12-06 Thread David P. Reed
Pardon my ignorance, but is port 0xed really safe to push an out cycle at across the entire x86_64 family? How long must real _p pauses be in reality? (and who cares about what the code calls "really slow i/o"). Why are we waiting at all? I read the comments in io_64.h, and am a bit

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

2007-12-06 Thread Rene Herman
On 07-12-07 01:23, Robert Hancock wrote: David P. Reed wrote: After much, much testing (months, off and on, pursuing hypotheses), I've discovered that the use of "outb al,0x80" instructions to "delay" after inb and outb instructions causes solid freezes on my HP dv9000z laptop, when ACPI is

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

2007-12-06 Thread Robert Hancock
David P. Reed wrote: After much, much testing (months, off and on, pursuing hypotheses), I've discovered that the use of "outb al,0x80" instructions to "delay" after inb and outb instructions causes solid freezes on my HP dv9000z laptop, when ACPI is enabled. It takes a fair number of out's

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

2007-12-06 Thread Alan Cox
> Changing the delay instruction sequence from the outb to short jumps > might be the safe thing. But Linus, et al. may have experience with > that on other architectures like older Pentiums etc. Post boot we can use udelay() for this. Earlier I guess we could use udelay and make sure it

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

2007-12-06 Thread David P. Reed
After much, much testing (months, off and on, pursuing hypotheses), I've discovered that the use of "outb al,0x80" instructions to "delay" after inb and outb instructions causes solid freezes on my HP dv9000z laptop, when ACPI is enabled. It takes a fair number of out's to 0x80, but the hard

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

2007-12-06 Thread David P. Reed
After much, much testing (months, off and on, pursuing hypotheses), I've discovered that the use of outb al,0x80 instructions to delay after inb and outb instructions causes solid freezes on my HP dv9000z laptop, when ACPI is enabled. It takes a fair number of out's to 0x80, but the hard

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

2007-12-06 Thread Alan Cox
Changing the delay instruction sequence from the outb to short jumps might be the safe thing. But Linus, et al. may have experience with that on other architectures like older Pentiums etc. Post boot we can use udelay() for this. Earlier I guess we could use udelay and make sure it starts

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

2007-12-06 Thread Robert Hancock
David P. Reed wrote: After much, much testing (months, off and on, pursuing hypotheses), I've discovered that the use of outb al,0x80 instructions to delay after inb and outb instructions causes solid freezes on my HP dv9000z laptop, when ACPI is enabled. It takes a fair number of out's to

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

2007-12-06 Thread Rene Herman
On 07-12-07 01:23, Robert Hancock wrote: David P. Reed wrote: After much, much testing (months, off and on, pursuing hypotheses), I've discovered that the use of outb al,0x80 instructions to delay after inb and outb instructions causes solid freezes on my HP dv9000z laptop, when ACPI is

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

2007-12-06 Thread David P. Reed
Pardon my ignorance, but is port 0xed really safe to push an out cycle at across the entire x86_64 family? How long must real _p pauses be in reality? (and who cares about what the code calls really slow i/o). Why are we waiting at all? I read the comments in io_64.h, and am a bit

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

2007-12-06 Thread Rene Herman
On 07-12-07 08:17, Rene Herman wrote: On 07-12-07 06:54, David P. Reed wrote: Pardon my ignorance, but is port 0xed really safe to push an out cycle at across the entire x86_64 family? Please do not top-post. Who knows, probably not. You just experienced that 0x80 is apparently not safe

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

2007-12-06 Thread Rene Herman
On 07-12-07 06:54, David P. Reed wrote: Pardon my ignorance, but is port 0xed really safe to push an out cycle at across the entire x86_64 family? Please do not top-post. Who knows, probably not. You just experienced that 0x80 is apparently not safe for you and that one's the conventional

<    1   2   3