All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.