2005-11-26 15:39:02

by Jean Delvare

[permalink] [raw]
Subject: Paused I/O versus regular I/O

Hi all,

Could anyone tell me what the difference is between "paused" I/O
(inb_p, oub_p and friends) and regular I/O (inb, oub and friends)? I
understand that the former includes some delays here and there, but how
do I know when to use the paused variant, and when the non-paused
variant is OK?

The driver I am currently working on involves combined I/O access on
the Super-I/O ports (0x2e and 0x2f being the address and data ports,
respectively) and chip-specific combined I/O access (typically 0x295 and
0x296 being the address and data ports, respectively). I am using
regular (non-paused) I/O and it seems to work well, but I was wondering
if maybe combined I/O (when you write to a port to select an internal
address, then read the data from another port) was supposed to be done
using paused I/O.

Can anyone clarify the situation? I couldn't find any documentation
explaining *when* paused I/O must be used.

Thanks,
--
Jean Delvare


2005-11-27 01:04:03

by Bodo Eggert

[permalink] [raw]
Subject: Re: Paused I/O versus regular I/O

Jean Delvare <[email protected]> wrote:

> Could anyone tell me what the difference is between "paused" I/O
> (inb_p, oub_p and friends) and regular I/O (inb, oub and friends)? I
> understand that the former includes some delays here and there, but how
> do I know when to use the paused variant, and when the non-paused
> variant is OK?

AFAIK, some old hardware needs it. The original ISA bus speed was 4.77 MHz,
and AT changed it to 8 MHz. Some chips needed extra delays to compensate,
and those chips stayed around for a long time.

--
Ich danke GMX daf?r, die Verwendung meiner Adressen mittels per SPF
verbreiteten L?gen zu sabotieren.