mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Jamie Lokier <jamie@shareable.org>
To: John Bradford <john@grabjohn.com>
Cc: arjanv@redhat.com, ebiederm@xmission.com,
	alan@lxorguk.ukuu.org.uk, linux-kernel@vger.kernel.org
Subject: Re: Can we kill f inb_p, outb_p and other random I/O on port 0x80, in 2.6?
Date: Mon, 22 Sep 2003 22:37:32 +0100	[thread overview]
Message-ID: <20030922213732.GC29869@mail.jlokier.co.uk> (raw)
In-Reply-To: <200309222003.h8MK38kC000353@81-2-122-30.bradfords.org.uk>

John Bradford wrote:
> > Another reason for fixing this is we are killing who knows how much
> > I/O bandwidth with this stream of failing writes to port 0x80.
> 
> Assuming we do stop using I/O to port 0x80 for timing purposes, would
> it be worth adding code to make existing POST cards double as a poor
> man's front panel display once the kernel has booted?

Problem: what if the ISA device is behind a PCI bridge?

At the moment, outb_p followed by inb will be seen by the ISA device
as "write, write, read," giving the ISA device time to propagate state
changes between the end of the first write and the beginning of the
read.

If that is replaced by "write, udelay(1), read," then it will be sent
over the PCI-ISA bridge and may be seen as "write, read" with only a
small delay between them, due to the PCI subsystem delaying the write.

We already see this problem with pure PCI devices.  The standard
solution with PCI devices is to issue a PCI read after the write, to
flush the write.

Over the PCI-ISA bridge, some transaction is needed to flush the first
write, unfortunately, if we want to guarantee the same delays that are
there at the moment.

I think that means we need to keep write to port 0x80, otherwise we
will be changing the behaviour of the many legacy drivers which use _p
operators.

-- Jamie


  reply	other threads:[~2003-09-22 21:37 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-09-22 20:03 John Bradford
2003-09-22 21:37 ` Jamie Lokier [this message]
2003-09-22 21:42   ` Arjan van de Ven
2003-09-23  0:16   ` Alan Cox
     [not found] <20030922153651.16497.qmail@science.horizon.com>
2003-09-22 18:35 ` Eric W. Biederman
2003-09-22 21:54   ` Jamie Lokier
2003-09-23 18:41     ` bill davidsen
2003-09-24 17:43       ` Linus Torvalds
  -- strict thread matches above, loose matches on Subject: below --
2003-09-22  0:27 Eric W. Biederman
2003-09-22 11:22 ` Alan Cox
2003-09-22 16:26   ` Jamie Lokier
2003-09-22 16:33     ` Alan Cox
2003-09-22 17:11       ` Arjan van de Ven
2003-09-22 18:28         ` Jamie Lokier
2003-09-22 19:09           ` Eric W. Biederman
2003-09-22 19:27           ` Arjan van de Ven
2003-09-22 21:46             ` Jamie Lokier
2003-09-23 18:17           ` bill davidsen
2003-09-22 18:58         ` Eric W. Biederman
2003-09-22 19:19           ` Jamie Lokier
2003-09-23  0:09           ` Alan Cox
2003-09-23 18:20             ` bill davidsen
2003-09-22 19:00       ` Jamie Lokier
2003-09-22 20:05         ` Eric W. Biederman
2003-09-23 18:31           ` bill davidsen
2003-09-23  0:13         ` Alan Cox

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030922213732.GC29869@mail.jlokier.co.uk \
    --to=jamie@shareable.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=arjanv@redhat.com \
    --cc=ebiederm@xmission.com \
    --cc=john@grabjohn.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®