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
next prev parent 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