lkml.org 
[lkml]   [2007]   [Dec]   [11]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateTue, 11 Dec 2007 22:38:34 +1030
FromDavid Newall <>
SubjectRe: RFC: outb 0x80 in inb_p, outb_p harmful on some modern AMD64 with MCP51 laptops
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?


\
 
 \ /
  Last update: 2007-12-11 13:11    [from the cache]
©2003-2008