All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alan Tull <delicious.quinoa@gmail.com>
To: Moritz Fischer <moritz.fischer@ettus.com>,
	Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Cc: Alan Tull <atull@kernel.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	linux-fpga@vger.kernel.org
Subject: Re: FPGA Region enhancements and fixes
Date: Tue, 28 Feb 2017 16:03:28 -0600	[thread overview]
Message-ID: <CANk1AXRSjvUz14ppKns-gt7LrHB0kemJJxiw=rhd71DRM=Wdaw@mail.gmail.com> (raw)
In-Reply-To: <CANk1AXSqbVvuOdaBUq8qbk6GgCz6uhmFOxvDiBgMwK57f4MmXQ@mail.gmail.com>

On Tue, Feb 28, 2017 at 11:35 AM, Alan Tull <delicious.quinoa@gmail.com> wrote:
> On Wed, Feb 15, 2017 at 10:14 AM, Alan Tull <atull@kernel.org> wrote:
>> This patchset intends to enable expanding the use of FPGA regions
>> beyond device tree overlays.  Also one fix for the existing DTO
>> implementation.  It's an RFC, looking for feedback, also I need
>> to do more testing and fix it working for modules.
>
> There's a lot of stuff to look at here.  To make it easier, I've pushed a
> branch to the linux-fpga repo.  Branch name is
> next-20170228-rfc-atull-20170210
>
> Alan
>
>>
>> Patch 1 adds a function so the caller could program the fpga from
>> either a scatter gather table, a buffer, or a firmware file.  The
>> parameters are passed in the fpga_image_info struct.  This way works,
>> but there may be a better or more widely accepted way.  Maybe they
>> should be a union?  If someone knows of a well written example in the
>> kernel for me to emulate, that would be really appreciated.
>>
>> Patch 2 is a fix for if you write > 1 overlay to a region.
>> It keeps track of overlays in a list.
>>
>> Patch 3 adds functions for working with FPGA bridges using the
>> device rather than the device node (for non DT use).
>>
>> Patches 4-5 separate finding and locking a FPGA manager.  So someone
>> could get a reference for a FPGA manager without locking it for
>> exclusive use.
>>
>> Patch 6 breaks up fpga-region.c into two files, moving the DT overlay
>> support to of-fpga-region.c.  The functions exported by fpga-region.c
>> will enable code that creates an FPGA region and tell it what manager
>> and bridge to use.  fpga-region.c doesn't do enumeration so whatever
>> code creates the region will also still have the responsibility to do
>> some enumeration after programming.
>>
>> Patches 7-8 a sysfs interface to FPGA regions.  I'm sure this will be
>> controversial as discussions about FPGA userspace interfaces have
>> incited lively discussion in the past.  The nice thing about this
>> interface is that it handles the dance of disabling the bridge before
>> programming and reenabling it afterwards.  But no enumeration.
>> I post it as separate patch and document so the rest of the patches
>> could go forward while we hash out what a good non-DT interface
>> may look like if there is some other layer that is requesting
>> reprogramming and handling enumeration.
>>
>> I've tested it lightly and believe that each patch separately
>> builds and works.
>>
>> Known issues: doesn't work as a module anymore.  I'll be fixing that.

Actually just reran my tests and these *do* work as a modules.

Alan

>>
>> Alan
>>
>> Alan Tull (8):
>>   fpga-mgr: add a single function for fpga loading methods
>>   fpga-region: support more than one overlay per FPGA region
>>   fpga-bridge: add non-dt support
>>   doc: fpga-mgr: separate getting/locking FPGA manager
>>   fpga-mgr: separate getting/locking FPGA manager
>>   fpga-region: separate out common code to allow non-dt support
>>   fpga-region: add sysfs interface
>>   doc: fpga: add sysfs document for fpga region
>>
>>  Documentation/ABI/testing/sysfs-class-fpga-region |  26 +
>>  Documentation/fpga/fpga-mgr.txt                   |  19 +-
>>  drivers/fpga/Kconfig                              |  20 +-
>>  drivers/fpga/Makefile                             |   1 +
>>  drivers/fpga/fpga-bridge.c                        | 107 +++-
>>  drivers/fpga/fpga-mgr.c                           |  56 +-
>>  drivers/fpga/fpga-region.c                        | 725 ++++++++++------------
>>  drivers/fpga/fpga-region.h                        |  68 ++
>>  drivers/fpga/of-fpga-region.c                     | 510 +++++++++++++++
>>  include/linux/fpga/fpga-bridge.h                  |   7 +-
>>  include/linux/fpga/fpga-mgr.h                     |  17 +
>>  11 files changed, 1128 insertions(+), 428 deletions(-)
>>  create mode 100644 Documentation/ABI/testing/sysfs-class-fpga-region
>>  create mode 100644 drivers/fpga/fpga-region.h
>>  create mode 100644 drivers/fpga/of-fpga-region.c
>>
>> --
>> 2.7.4
>>

      reply	other threads:[~2017-02-28 22:57 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-15 16:14 FPGA Region enhancements and fixes Alan Tull
2017-02-15 16:14 ` [RFC 1/8] fpga-mgr: add a single function for fpga loading methods Alan Tull
2017-02-16  0:36   ` matthew.gerlach
2017-02-15 16:14 ` [RFC 2/8] fpga-region: support more than one overlay per FPGA region Alan Tull
2017-02-16 16:50   ` matthew.gerlach
2017-02-16 17:35     ` Alan Tull
2017-02-15 16:14 ` [RFC 3/8] fpga-bridge: add non-dt support Alan Tull
2017-02-15 16:14 ` [RFC 4/8] doc: fpga-mgr: separate getting/locking FPGA manager Alan Tull
2017-02-17 17:14   ` Li, Yi
2017-02-17 21:55     ` Alan Tull
2017-02-17 17:52   ` Moritz Fischer
2017-02-17 22:02     ` Alan Tull
2017-02-15 16:14 ` [RFC 5/8] " Alan Tull
2017-02-15 16:14 ` [RFC 6/8] fpga-region: separate out common code to allow non-dt support Alan Tull
2017-02-15 16:14 ` [RFC 7/8] fpga-region: add sysfs interface Alan Tull
2017-02-15 17:21   ` Jason Gunthorpe
2017-02-15 17:46     ` Alan Tull
2017-02-15 17:55       ` Moritz Fischer
2017-02-15 18:06       ` Jason Gunthorpe
2017-02-15 18:23         ` Alan Tull
2017-02-15 18:31           ` Moritz Fischer
2017-02-15 19:49           ` Jason Gunthorpe
2017-02-15 22:49             ` Alan Tull
2017-02-15 23:07               ` Jason Gunthorpe
2017-02-15 20:07           ` matthew.gerlach
2017-02-15 20:37             ` Jason Gunthorpe
2017-02-15 20:54               ` Moritz Fischer
2017-02-15 21:15                 ` Jason Gunthorpe
2017-02-15 21:36                   ` Moritz Fischer
2017-02-15 22:42                     ` Alan Tull
2017-02-16  0:16                       ` Moritz Fischer
2017-02-16 17:47                         ` Alan Tull
2017-02-16 17:56                           ` Jason Gunthorpe
2017-02-16 18:11                             ` Moritz Fischer
2017-02-17 22:28                 ` Yves Vandervennet
2017-02-18  2:30                   ` Moritz Fischer
2017-02-18 12:45                     ` Nadathur, Sundar
2017-02-18 20:10                       ` Alan Tull
2017-02-18 20:45                         ` Moritz Fischer
2017-02-19 15:00                           ` Alan Tull
2017-02-19 23:16                             ` Alan Tull
2017-02-20 23:49                               ` Moritz Fischer
2017-02-21 18:33                                 ` Alan Tull
2017-02-22  3:13                                   ` Nadathur, Sundar
2017-02-22  3:49                                     ` Moritz Fischer
2017-02-22  5:12                                       ` Jason Gunthorpe
2017-02-22  5:38                                         ` Moritz Fischer
2017-02-22  5:46                                           ` Nadathur, Sundar
2017-02-22  6:05                                             ` Moritz Fischer
2017-02-22 16:44                                               ` Jason Gunthorpe
2017-02-22 17:50                                                 ` Moritz Fischer
2017-02-22 17:54                                                   ` Jason Gunthorpe
2017-02-22 17:57                                                     ` Moritz Fischer
2017-02-22 16:33                                           ` Alan Tull
2017-02-22 16:44                                             ` Moritz Fischer
2017-02-22 16:52                                               ` Alan Tull
2017-02-27 20:09                                   ` Alan Tull
2017-02-27 22:49                                     ` Moritz Fischer
2017-02-28  0:04                                       ` matthew.gerlach
2017-02-15 21:20         ` Anatolij Gustschin
2017-02-15 16:14 ` [RFC 8/8] doc: fpga: add sysfs document for fpga region Alan Tull
2017-02-28 17:35 ` FPGA Region enhancements and fixes Alan Tull
2017-02-28 22:03   ` Alan Tull [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='CANk1AXRSjvUz14ppKns-gt7LrHB0kemJJxiw=rhd71DRM=Wdaw@mail.gmail.com' \
    --to=delicious.quinoa@gmail.com \
    --cc=atull@kernel.org \
    --cc=jgunthorpe@obsidianresearch.com \
    --cc=linux-fpga@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=moritz.fischer@ettus.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.