Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1589853
| From | Alan Tull <delicious.quinoa@gmail.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: FPGA Region enhancements and fixes |
| Date | 2017-03-01 00:00 +0100 |
| Message-ID | <tfYUq-2fP-17@gated-at.bofh.it> (permalink) |
| References | <tbatc-2fc-9@gated-at.bofh.it> <tfTUK-7EU-33@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
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 >>
Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread
FPGA Region enhancements and fixes Alan Tull <atull@kernel.org> - 2017-02-15 17:20 +0100
[RFC 6/8] fpga-region: separate out common code to allow non-dt support Alan Tull <atull@kernel.org> - 2017-02-15 17:20 +0100
[RFC 1/8] fpga-mgr: add a single function for fpga loading methods Alan Tull <atull@kernel.org> - 2017-02-15 17:20 +0100
Re: [RFC 1/8] fpga-mgr: add a single function for fpga loading methods matthew.gerlach@linux.intel.com - 2017-02-16 01:40 +0100
[RFC 4/8] doc: fpga-mgr: separate getting/locking FPGA manager Alan Tull <atull@kernel.org> - 2017-02-15 17:20 +0100
Re: [RFC 4/8] doc: fpga-mgr: separate getting/locking FPGA manager "Li, Yi" <yi1.li@linux.intel.com> - 2017-02-17 18:20 +0100
Re: [RFC 4/8] doc: fpga-mgr: separate getting/locking FPGA manager Alan Tull <delicious.quinoa@gmail.com> - 2017-02-17 23:00 +0100
Re: [RFC 4/8] doc: fpga-mgr: separate getting/locking FPGA manager Moritz Fischer <mdf@kernel.org> - 2017-02-17 19:00 +0100
Re: [RFC 4/8] doc: fpga-mgr: separate getting/locking FPGA manager Alan Tull <delicious.quinoa@gmail.com> - 2017-02-17 23:10 +0100
[RFC 2/8] fpga-region: support more than one overlay per FPGA region Alan Tull <atull@kernel.org> - 2017-02-15 17:20 +0100
Re: [RFC 2/8] fpga-region: support more than one overlay per FPGA region matthew.gerlach@linux.intel.com - 2017-02-16 18:00 +0100
Re: [RFC 2/8] fpga-region: support more than one overlay per FPGA region Alan Tull <delicious.quinoa@gmail.com> - 2017-02-16 18:40 +0100
Re: FPGA Region enhancements and fixes Alan Tull <delicious.quinoa@gmail.com> - 2017-02-28 18:40 +0100
Re: FPGA Region enhancements and fixes Alan Tull <delicious.quinoa@gmail.com> - 2017-03-01 00:00 +0100
csiph-web