devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Moritz Fischer <moritz.fischer@ettus.com>
To: Alan Tull <delicious.quinoa@gmail.com>
Cc: Alan Tull <atull@opensource.altera.com>,
	Rob Herring <robh+dt@kernel.org>, Josh Cartwright <joshc@ni.com>,
	Greg KH <gregkh@linuxfoundation.org>,
	Michal Simek <monstr@monstr.eu>,
	Michal Simek <michal.simek@xilinx.com>,
	Pawel Moll <pawel.moll@arm.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Ian Campbell <ijc+devicetree@hellion.org.uk>,
	Kumar Gala <galak@codeaurora.org>,
	Jonathan Corbet <corbet@lwn.net>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Devicetree List <devicetree@vger.kernel.org>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	Pantelis Antoniou <pantelis.antoniou@konsulko.com>,
	"dinguyen@opensource.altera.com" <dinguyen@opensource.altera.com>
Subject: Re: [PATCH v14 0/7] fpga area and fpga bridge framework
Date: Tue, 15 Dec 2015 10:15:54 -0800	[thread overview]
Message-ID: <CAAtXAHcLDjrnx=Ger0i24YesZA_RB16Y1ZXRd9dsLPWSVVTwGQ@mail.gmail.com> (raw)
In-Reply-To: <CANk1AXTqN6ExtXXgMXaTAM=aH+0J4D5b2_JSQ_9AuJCj79PR5Q@mail.gmail.com>

Hi Alan,

On Mon, Dec 14, 2015 at 5:56 PM, Alan Tull <delicious.quinoa@gmail.com> wrote:

>> I had an offline discussion with Josh Cartwright about his concerns.
>> He brought up a good
>> point on w.r.t to the way FPGA Area (Bus) deals with things.
>>
>> Currently we only support complete status = "okay" vs "disabled" kind
>> of overlays.

> Maybe i don't understand what you are saying; could you write out a
> sequence you want to be able to do?

Let's say you have a UART in the FPGA. You want to reprogram the FPGA
fabric that includes the UART (assuming proper resets etc happen)

1) Driver gets notified of impending doom, keeps hands off of FPGA
2) FPGA Manager reloads FPGA
3) FPGA Manager lets driver know FPGA is back
4) Driver can continue to function as always

It wouldn't even have to be a UART, on some boards simple SPI lines or UART
lines  go from the processor through the FPGA logic out to a pin.
When you reload the FPGA for a short moment of time that doesn't work,
while after the reload it works just fine. Maybe something like extcon could
be used for that?

> Is this a separate question/issue from the above?  Are you talking
> about acceleration?

I meant stuff like SPI that gets routed through the FPGA, sorry for
being unclear ;-)

>>
>> I've been toying around with hacking up struct device to include a
>> FPGA 'domain', and then, similar
>> to power domains allow devices to register suspend() / resume() style
>> callbacks (could call them pre_reload() or something like that ...)
>>
>> I haven't gotten around to think it through. At this point it's just
>> an idea and I don't have real code to show.
>>
>> I realize the issue with that is we'd have to make changes to struct device.
>
> That's interesting.  Usually a FPGA image has many devices in it, so
> so way of making that dependency clear would be needed.  If any of the
> devices involved are powered up, that FPGA image would need to be
> loaded.

Yeah. That's why I think the power domain model we have has a bunch of
similarities.

> Currently I'm trying to get some bindings approved for doing device
> tree control of loading the FPGA and probing the devices.  My idea is
> that these bindings could be useful for some use cases where we are
> loading hardware onto the FPGA that needs to show up in the device
> tree. Some of Rob's feedback is that my proposal may be
> Altera-specific. If the bindings that I am proposing are useful for at
> least some uses with Xilinx parts, that would be valuable feedback at
> this point.  If they are Altera-specific, then I may need to add
> "altr," to some of the compatible strings like "altr,fpga-bus" and
> "altr,fpga-area".  My original intent was to implement something that
> you could use also, so I hope that's not the future here.
>
> So my question for you is: is this stuff useful for you?

Definitely, I'm pretty happy with what you have so far!
I think the points I mentioned above apply to Altera devices, too.
Maybe we can solve this in two parts, and the first step is getting the
loading bindings accepted ;-)

Cheers,

Moritz

      reply	other threads:[~2015-12-15 18:15 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-10 23:37 [PATCH v14 0/7] fpga area and fpga bridge framework atull
2015-12-10 23:37 ` [PATCH v14 1/7] fpga: add usage documentation for fpga area atull
2015-12-11 15:05   ` Rob Herring
2015-12-11 18:33     ` atull
2015-12-11 19:18       ` Rob Herring
2015-12-10 23:37 ` [PATCH v14 2/7] fpga: add bindings document " atull
2015-12-11 14:34   ` Rob Herring
2015-12-10 23:37 ` [PATCH v14 3/7] add sysfs document for fpga bridge class atull
2015-12-10 23:37 ` [PATCH v14 4/7] ARM: socfpga: add bindings document for fpga bridge drivers atull
2015-12-10 23:37 ` [PATCH v14 5/7] fpga: add fpga bridge framework atull
2015-12-10 23:37 ` [PATCH v14 6/7] fpga: fpga-area: support device tree control for FPGA programming atull
2015-12-10 23:37 ` [PATCH v14 7/7] ARM: socfpga: fpga bridge driver support atull
2015-12-14 17:16 ` [PATCH v14 0/7] fpga area and fpga bridge framework Moritz Fischer
2015-12-15  1:56   ` Alan Tull
2015-12-15 18:15     ` Moritz Fischer [this message]

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='CAAtXAHcLDjrnx=Ger0i24YesZA_RB16Y1ZXRd9dsLPWSVVTwGQ@mail.gmail.com' \
    --to=moritz.fischer@ettus.com \
    --cc=atull@opensource.altera.com \
    --cc=corbet@lwn.net \
    --cc=delicious.quinoa@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dinguyen@opensource.altera.com \
    --cc=galak@codeaurora.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=joshc@ni.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=michal.simek@xilinx.com \
    --cc=monstr@monstr.eu \
    --cc=pantelis.antoniou@konsulko.com \
    --cc=pawel.moll@arm.com \
    --cc=robh+dt@kernel.org \
    /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).