From: Michel Lanners <mlan@mcp.cpu.lu>
To: tas@mindspring.com (Timothy A. Seufert)
Cc: linuxppc-dev@lists.linuxppc.org
Subject: Re: Need reports about PCI I/O conflicts
Date: Fri, 03 Mar 2000 11:01:44 MET [thread overview]
Message-ID: <200003031001.LAA20181@mcp.cpu.lu> (raw)
In-Reply-To: <v04220800b4e5212c2027@[10.0.0.42]>; from "Timothy A. Seufert" at Mar 3, 100 12:39 (midnight)
Hi all,
[snip]
> >It does this by writing 0 in the io space register, but
> >doesn't disable IO accesses to the card in the PCI config header (or
> >maybe they get re-enabled by the kernel fixup code).
>
> I think the fixup code is re-enabling it if it can:
>
> PCI: setting IRQ 24 on device 01:18.
> PCI: Correcting IOaddress 0 on device 01:18, now fe000001.
> PCI: Enabling I/O for device 01:18
> PCI: setting IRQ 25 on device 01:20.
> PCI: Correcting IOaddress 0 on device 01:20, now fe000001.
> PCI: Correcting IOaddress 0 on device 01:21, now fe000001.
Clearly, this is not the right way to proceed, I guess that all IO
regions above were set at 0 (which means disabled, right?), so they
get set all on the same translation.
> I remember looking at the code which enables I/O for a device, but it
> wasn't clear to me at that time how it decided whether to enable I/O.
At this time, simply by looking whether a BAR is marked as IO space (bit
0 set, IIRC). Obviously, there should be other sanity checks, the first
of which being to see whether the configured address falls within the
expected range (0 < BAR < [io-space size]).
If anyone wants to add that, please go ahead; but keep in mind that the
io-space size depends on the parent bridge.
> By the way, Doug, can you comment on whether the 39160 should get one
> or two IRQs? I/O and memory base registers are clearly not shared
> between the channels, but according to these boot messages, only one
> channel gets assigned an IRQ. (I've confirmed this with lspci.)
On Macs (at least all those I could read doc of), all PCI IRQs are or'ed
together per physical slot. Therefore, multiple devices or functions on
a single card will all get the same IRQ. Whether the PCI code really gets
this right is a different matter.
Michel
__________________________________-
.sig at home
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
next prev parent reply other threads:[~2000-03-03 10:01 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-02-24 9:43 PCI I/O address problems on B&W G3 Timothy A. Seufert
2000-02-24 11:12 ` Benjamin Herrenschmidt
2000-02-24 22:13 ` Timothy A. Seufert
2000-03-02 14:22 ` Need reports about PCI I/O conflicts Benjamin Herrenschmidt
2000-03-02 14:41 ` Gabriel Paubert
2000-03-03 5:13 ` Doug Ledford
2000-03-03 10:55 ` Benjamin Herrenschmidt
2000-03-17 7:01 ` Doug Ledford
2000-03-03 8:39 ` Timothy A. Seufert
2000-03-03 8:57 ` Doug Ledford
2000-03-03 10:01 ` Michel Lanners [this message]
2000-03-03 11:09 ` Benjamin Herrenschmidt
2000-03-04 10:16 ` PCI I/O address problems on B&W G3 Michel Lanners
2000-03-04 12:15 ` Timothy A. Seufert
2000-03-05 21:34 ` Geert Uytterhoeven
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=200003031001.LAA20181@mcp.cpu.lu \
--to=mlan@mcp.cpu.lu \
--cc=linuxppc-dev@lists.linuxppc.org \
--cc=tas@mindspring.com \
/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;
as well as URLs for NNTP newsgroup(s).