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

From: David Newall
Date: Tue Dec 11 2007 - 07:08:52 EST


Rene Herman wrote:
On 11-12-07 08:40, Paul Rolland wrote:

Well, if the delay is so much unspecified, what about _reading_ port 0x80 ?
Will the delay be shorter ?

The delay is completely and fully specified in terms of the ISA/LPC clock

That would be the delay on the i386 (sic) architecture. In general, though, the delay is:

"Some devices require that accesses to their ports are slowed down. This functionality is provided by appending a _p to the end of the
function."
-- Documentation/DocBook/deviceiobook.tmpl


(I've not seen any other formal definition.)

Most architectures (Alpha, Arm, Arm2, Blackfin, FRV, h8300, IA64, PA-RISC, PowerPC, Sparc, Sparc64, V850 and Xtensa) do no pause. M68k does no pause except in one configuration, when it's the same as i386. On m32r it's a push and a pop. On SuperH it's similar to i386, only using 16-bit input. X86-64 is the same as i386!

Thinking that _p gives a pause is perhaps too PC-centric. Why, if a delay is needed, wouldn't you use a real delay; one that says how long it should be?
--
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/