public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Alan Cox <alan@lxorguk.ukuu.org.uk>
To: "David S. Miller" <davem@davemloft.net>
Cc: Jon Smirl <jonsmirl@gmail.com>,
	jbarnes@engr.sgi.com, willy@debian.org,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: multi-domain PCI and sysfs
Date: Wed, 08 Sep 2004 23:41:05 +0100	[thread overview]
Message-ID: <1094683264.12335.35.camel@localhost.localdomain> (raw)
In-Reply-To: <20040908112143.330a9301.davem@davemloft.net>

On Mer, 2004-09-08 at 19:21, David S. Miller wrote:
> On ppc, sparc, and other non-x86 platforms, when you perform load/store
> instructions within the port I/O space window, the PCI controller emits
> the IN/OUT transactions exactly as if an x86 processor had executed
> an in{bwl}/out{bwl} instruction.

Some of them are not quite that pretty. In certain cases outb gets 
translated into code that does horrors vaguely of the form

	spin_lock_irqsave
	lane = (addr & 3) << 3;
	writel(1<<(addr&3), somecontroller->lanes);
	writel(addr, somecontroller->offset);
	writel(val << lane, somecontroller->somewhere);
	spin_unlock_irqrestore

Other code has extra magic reads in to work around fpga pci bridges that
forgot out is synchronous and writel is posted.

A better summary from the higher levels of the kernel would be "don't
look behind the sofa, there might be a monster lurking".

The only way I can see VGA routing working is to have some kind of arch
code that can tell you which devices are on the same VGA legacy tree.
That then allows a vga layer to walk VGA devices and ask arch code the
typically simple question

		pci_vga_shared_router(pdev1, pdev2)

Alan


  reply	other threads:[~2004-09-08 23:47 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-09-04 20:00 multi-domain PCI and sysfs Jon Smirl
2004-09-04 21:57 ` Jesse Barnes
2004-09-04 22:12   ` Jon Smirl
2004-09-04 22:27     ` Jesse Barnes
2004-09-04 22:45       ` Jon Smirl
2004-09-04 23:03         ` Jesse Barnes
2004-09-05 23:04           ` Matthew Wilcox
2004-09-05 23:50             ` Jon Smirl
2004-09-05 23:00               ` Alan Cox
2004-09-06  1:40               ` Matthew Wilcox
2004-09-07 22:58                 ` Jon Smirl
2004-09-07 23:11                   ` David S. Miller
2004-09-08  3:39                     ` Jon Smirl
2004-09-08  4:12                       ` David S. Miller
2004-09-08  4:16                       ` Jesse Barnes
2004-09-08  4:15                     ` Jesse Barnes
2004-09-08  4:16                       ` David S. Miller
2004-09-08  4:25                         ` Jesse Barnes
2004-09-08  6:01                           ` Jon Smirl
2004-09-08 13:02                             ` Alan Cox
2004-09-08 16:02                             ` Jesse Barnes
2004-09-08 18:20                               ` David S. Miller
2004-09-08 18:32                                 ` Jesse Barnes
2004-09-08 18:54                                   ` David S. Miller
2004-09-08  6:55                           ` Jon Smirl
2004-09-08 11:11                             ` Geert Uytterhoeven
2004-09-08 11:38                               ` Matthew Wilcox
2004-09-08 18:21                             ` David S. Miller
2004-09-08 22:41                               ` Alan Cox [this message]
2004-09-09  0:31                                 ` Jon Smirl
2004-09-09 13:06                                   ` Alan Cox
2004-09-08 15:03                   ` Matthew Wilcox
2004-09-06  0:06             ` Jesse Barnes
2004-09-06  0:31               ` Jon Smirl
2004-09-06  1:38               ` Jon Smirl

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=1094683264.12335.35.camel@localhost.localdomain \
    --to=alan@lxorguk.ukuu.org.uk \
    --cc=davem@davemloft.net \
    --cc=jbarnes@engr.sgi.com \
    --cc=jonsmirl@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=willy@debian.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