public inbox for linuxppc-dev@ozlabs.org 
 help / color / mirror / Atom feed
From: David Hawkins <dwh@ovro•caltech.edu>
To: Felix Radensky <felix@embedded-sol•com>
Cc: "linuxppc-dev@ozlabs•org list" <linuxppc-dev@ozlabs•org>,
	Ira Snyder <iws@ovro•caltech.edu>
Subject: Re: MPC8536 PCI rescan to discover FPGA
Date: Mon, 21 Sep 2009 09:04:33 -0700	[thread overview]
Message-ID: <4AB7A411.3030406@ovro.caltech.edu> (raw)
In-Reply-To: <4AB79D41.60902@embedded-sol.com>

Hi Felix,

> On a custom MPC8536 board running linux-2.6.31,
> I'd like to load FPGA code from linux and then rescan
> PCI-E bus to discover FPGA device. Is that possible ?
> When linux boots FPGA is not loaded, so initial PCI
> scan does not detect it.
> 
> I've tried playing with /sys/bus/pci/rescan and 
> /sys/bus/pci/devices/.../rescan
> but didn't have much success.

This can be made to work using the kernel hot-swap
interface. PCI devices have an ENUM# interrupt that
they assert when inserted or extracted, and the host
hot-swap driver can be hooked up to it. PCI-E may
have a similar mechanism, if it does, then when your
FPGA configures as a PCI-E device, it can assert that
interrupt line (or send the appropriate PCI-E
message to simulate that interrupt).

However, even if PCI-E does not have the concept of
an ENUM# interrupt there is a way to generate a fake
hot-swap event and generate a re-scan of the PCI bus.

I haven't tested the kernel hot-swap interface, but I
know that Ira did, so I'll cc him on this mail, and he
can let you know what he tested.

Cheers,
Dave

  reply	other threads:[~2009-09-21 17:05 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-21 15:35 MPC8536 PCI rescan to discover FPGA Felix Radensky
2009-09-21 16:04 ` David Hawkins [this message]
2009-09-22  7:23   ` Benjamin Herrenschmidt
2009-09-30  7:06     ` Felix Radensky

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=4AB7A411.3030406@ovro.caltech.edu \
    --to=dwh@ovro$(echo .)caltech.edu \
    --cc=felix@embedded-sol$(echo .)com \
    --cc=iws@ovro$(echo .)caltech.edu \
    --cc=linuxppc-dev@ozlabs$(echo .)org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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