All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: yves.vandervennet@linux.intel.com
Cc: Alan Tull <atull@kernel.org>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Moritz Fischer <mdf@kernel.org>,
	linux-fpga@vger.kernel.org, Marek Vasut <marek.vasut@gmail.com>
Subject: Re: [PATCH] fpga: add simple userspace interface to trigger FPGA programming
Date: Wed, 13 Dec 2017 06:23:52 +0100	[thread overview]
Message-ID: <20171213062352.0e1042a4@windsurf.png.is.keysight.com> (raw)
In-Reply-To: <alpine.DEB.2.20.1712130626150.1@5af5ed6f0bd3>

Hello,

On Wed, 13 Dec 2017 06:30:22 +0000 (UTC),
yves.vandervennet@linux.intel.com wrote:

> > 2. The device implemented in the FPGA is self-discoverable because it
> >    sits on a PCI bus, so there is no point in doing a static
> >    description of the device in a DT overlay.  
> How is the enumeration triggered?

I am manually forcing a rescan of the PCI bus by doing

 echo 1 > /sys/bus/pci/rescan

Right now my process is:

 1. Remove the PCIe device instantiated in the FPGA if it exists (the
    FPGA programming is preserved across a warm reset of the platform).
    Indeed, as was mentioned in the this thread earlier, things don't
    work really well if your PCIe device instantiated in the FPGA is
    enumerated, and the FPGA gets reprogrammed underneath.

 2. Program the FPGA using the additional sysfs file that my patch
    proposes to add.

 3. Rescan the PCI bus by echoing to /sys/bus/pci/rescan.

> Do you have any bridges to take care of?

I am not sure what you mean by bridge in this context. My use case is
pretty simple:

 - The SoC has a PCIE controller. The PCIE controller is a hard IP
   block in the SoC.

 - There is a FPGA on the board which is connected directly to the SoC
   over PCIe + over a control bus that allows programming of the FPGA.

Therefore, there is no bridge involved: once the FPGA is programmed,
the PCIE controller in the SoC can enumerate and see a new PCIE device,
which happens to be implemented in the FPGA.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

  reply	other threads:[~2017-12-13  5:23 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-04 15:43 [PATCH] fpga: add simple userspace interface to trigger FPGA programming Thomas Petazzoni
2017-12-04 15:50 ` Alan Tull
2017-12-04 15:58   ` Thomas Petazzoni
2017-12-04 16:25     ` Alan Tull
2017-12-04 16:49       ` Moritz Fischer
2017-12-04 17:30         ` Alan Tull
2017-12-09 18:05   ` Florian Fainelli
2017-12-10  4:03     ` Alan Tull
2017-12-10 22:44       ` Thomas Petazzoni
2017-12-10 22:59         ` Florian Fainelli
2017-12-11 22:05           ` Moritz Fischer
2017-12-11 23:32             ` Alan Tull
2017-12-13  6:30         ` yves.vandervennet
2017-12-13  5:23           ` Thomas Petazzoni [this message]
2017-12-13 15:59             ` Alan Tull
2017-12-14  5:27               ` Thomas Petazzoni
2017-12-14 20:10                 ` Alan Tull
2017-12-10 22:42     ` Thomas Petazzoni
2018-08-11 15:01 ` Philippe De Muyter

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=20171213062352.0e1042a4@windsurf.png.is.keysight.com \
    --to=thomas.petazzoni@free-electrons.com \
    --cc=atull@kernel.org \
    --cc=f.fainelli@gmail.com \
    --cc=linux-fpga@vger.kernel.org \
    --cc=marek.vasut@gmail.com \
    --cc=mdf@kernel.org \
    --cc=yves.vandervennet@linux.intel.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.