linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
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/

  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).