All of lore.kernel.org
 help / color / mirror / Atom feed
From: Philip Balister <philip@balister.org>
To: Pavel Machek <pavel@denx.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>, Alan Tull <atull@altera.com>,
	Jason Gunthorpe <jgunthorpe@obsidianresearch.com>,
	Jason Cooper <jason@lakedaemon.net>,
	Michal Simek <michal.simek@xilinx.com>,
	linux-kernel@vger.kernel.org, monstr@monstr.eu,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Dinh Nguyen <dinguyen@altera.com>,
	Alessandro Rubini <rubini@gnudd.com>,
	Mauro Carvalho Chehab <m.chehab@samsung.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Cesar Eduardo Barros <cesarb@cesarb.net>,
	Joe Perches <joe@perches.com>,
	"David S. Miller" <davem@davemloft.net>,
	Stephen Warren <swarren@nvidia.com>,
	Arnd Bergmann <arnd@arndb.de>,
	David Brown <davidb@codeaurora.org>,
	Dom Cobley <popcornmix@gmail.com>
Subject: Re: [RFC PATCH] fpga: Introduce new fpga subsystem
Date: Wed, 25 Sep 2013 10:27:59 -0400	[thread overview]
Message-ID: <5242F2EF.2050900@balister.org> (raw)
In-Reply-To: <20130925120052.GD9690@amd.pavel.ucw.cz>

On 09/25/2013 08:00 AM, Pavel Machek wrote:
> Hi!
> 
>>>> The firmware approach is interesting.  It might be less flexible
>>>> compared with my original code (see link to git below) that this is
>>>
>>> On the other hand... that's the interface world wants, right? To most
>>> users, fpga bitstream is just a firmware.
>>>
>>
>> No, not really.
>>
>> The typical assumption with the firmware interface is that there is
>> exactly one possible firmware for each device (possibly modulated by
>> driver version, but still.)  
> 
> Actually, I have seen counterexample there, too. Wifi card had
> different firmware for host and access points mode, probably because
> internal RAM could not fit both at same time. 

And another counter example ...

For the Zynq based product I am working on, we encourage the end user to
create their own bitstreams to customize their application. So we need
an easy way for the user to load a bitstream. cat foo.bin > /dev/xdevcfg
works well for us.

Then we need to make sure that the interface supports partial
reconfiguration.

That said, having a sane user api that addresses the various fpga use
cases would be a win for use since we would not need to write custom
user space code for every platform created in the future. I'd like to
see this api work with things like PCI based FPGA cards and discrete
fpgas that are not integrated with an arm etc.

Phlip

> 
> It is not really different; there's internal logic and you are
> programming it to do something. You can program FPGA, CPLD, or
> firmware for some embedded CPU.
> 
>> This is blatantly not true for an FPGA in
>> the most extreme way possible -- there are an almost infinite number of
>> ways one can load an FPGA.
> 
> Well, usually the FPGA has some function on the board (unless you are
> using it for compute acceleration), and it also wants just one
> version. If you have FPGA-based GSM board, you'll want GSM
> firmware. If you have FPGA-based WIFI, you'll want WIFI firmware. If
> you load GSM firmware there, it will very likely not work because it
> needs different amplifiers etc.
> 
> Heck, you probably _could_ use your WIFI card for cryptographics
> operations just by loading different firmware. People just don't do
> that. I don't expect that to be too different in the FPGA case...
> 
>> However, I have to question the whole idea of an "FPGA subsystem" --
>> there is an almost infinite number of ways to program an FPGA or FPGA
>> programming device (which may even be a commodity flash with a
>> microcontroller or CPLD, and may be shared with other devices), and it
>> really doesn't make any inherent sense to lump them together.
> 
> Firmware loading methods are also different, yet it makes sense to
> have uniform way of loading firmware. This is very similar situation.
> 
> 									Pavel
> 

  reply	other threads:[~2013-09-25 14:35 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-18 15:56 [RFC PATCH 0/1] FPGA subsystem core Michal Simek
2013-09-18 15:56 ` [RFC PATCH] fpga: Introduce new fpga subsystem Michal Simek
2013-09-18 16:11   ` Joe Perches
2013-09-19 10:01     ` Michal Simek
2013-09-19 16:26       ` Alan Tull
2013-09-18 19:02   ` Dinh Nguyen
2013-09-19 11:53     ` Michal Simek
2013-09-18 19:15   ` Jason Cooper
2013-09-18 20:32     ` Jason Gunthorpe
2013-09-18 21:17       ` Alan Tull
2013-09-19 10:08         ` Pavel Machek
2013-09-19 11:02           ` Michal Simek
2013-09-20 20:55             ` Alan Tull
2013-09-24 15:55               ` Alan Tull
2013-09-24 15:58                 ` Michal Simek
2013-09-24 16:22                   ` Alan Tull
2013-09-24 22:18                     ` Greg Kroah-Hartman
2013-09-25 13:55                       ` Yves Vandervennet
2013-09-25 14:51                         ` Michal Simek
2013-09-25 18:50                       ` Alan Tull
2013-09-24 22:54           ` H. Peter Anvin
2013-09-25 10:41             ` Michal Simek
2013-09-25 12:00             ` Pavel Machek
2013-09-25 14:27               ` Philip Balister [this message]
2013-09-25 14:43                 ` Michal Simek
2013-09-25 19:21                   ` Alan Tull
2013-09-19 10:55         ` Michal Simek
2013-09-19 11:17           ` Pavel Machek
2013-09-19 11:22             ` Michal Simek
2013-09-19 12:52               ` /sys rules " Pavel Machek
2013-09-19 14:06                 ` Greg KH
2013-09-19 14:10                   ` Michal Simek
2013-09-19 14:18                     ` Greg KH
2013-09-19 15:14                       ` Alan Tull
2013-09-19 14:20                     ` Jason Cooper
2013-09-19 14:37                       ` Greg KH
2013-09-19 22:48                         ` Pavel Machek
     [not found]           ` <CADuitaA3PLaOgmqXzfMdMDaXg7G6bT-DufjcuhtWfvaoWRj__Q@mail.gmail.com>
2013-09-19 15:14             ` Michal Simek
2013-09-19 15:18           ` Yves Vandervennet
2013-09-19 17:28             ` Jason Gunthorpe
2013-09-23 13:10               ` Michal Simek
2013-09-23 17:10                 ` Jason Gunthorpe
2013-09-25 10:48                   ` Michal Simek
2013-09-23 13:02             ` Michal Simek
2013-09-19 10:03       ` Pavel Machek
2013-09-19 10:45       ` Michal Simek
2013-09-27 13:31       ` Michal Simek
2013-09-30 17:12         ` Jason Gunthorpe
2013-10-01 15:59           ` Michal Simek
2013-09-18 23:45   ` Ryan Mallon
2013-09-19 11:37     ` Michal Simek

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=5242F2EF.2050900@balister.org \
    --to=philip@balister.org \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=atull@altera.com \
    --cc=cesarb@cesarb.net \
    --cc=davem@davemloft.net \
    --cc=davidb@codeaurora.org \
    --cc=dinguyen@altera.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hpa@zytor.com \
    --cc=jason@lakedaemon.net \
    --cc=jgunthorpe@obsidianresearch.com \
    --cc=joe@perches.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=m.chehab@samsung.com \
    --cc=michal.simek@xilinx.com \
    --cc=monstr@monstr.eu \
    --cc=pavel@denx.de \
    --cc=popcornmix@gmail.com \
    --cc=rubini@gnudd.com \
    --cc=swarren@nvidia.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.