Re: [PATCH v9 0/7] FPGA Manager Framework and Simple FPGA Bus

2015-07-23 Thread atull
On Thu, 23 Jul 2015, Greg KH wrote:

 On Fri, Jul 17, 2015 at 10:51:10AM -0500, at...@opensource.altera.com wrote:
  From: Alan Tull at...@opensource.altera.com
  
  This patchset adds two chunks plus documentation:
   * fpga manager core: exports ABI functions that write an image to a FPGA
   * DT Overlay support: simple-fpga-bus to handle FPGA from a DT overlay
  
  The core's ABI is minimal to start with: only 6 functions.  This gives a
  common interface for programming various FPGA such that any higher level
  interfaces such as the DT Overlays or anything else that is added can be
  shared and not be manufacturor-specific.
  
  The DT Overlays support exists for the usage where the FPGA will contain
  some hardware that will need drivers.  Where that use model is not
  appealing, the core ABI can be used to add a different use model such as
  using an FPGA as acceleration as has been discussed.
  
  This patchset gets rid of the sysfs controls that allowed direct
  control of a FPGA from userspace.
  
  This patchset is under drivers/staging as the interface could change.
  
  The bindings for the socpfga fpga manager already are upstreamed as
  1b4e119 Alan Tull : doc: add bindings document for altera fpga manager
  
  The DT Support is dependent on Pantelis's dtc overlay patches from
  https://github.com/pantoniou/dtc.git
  and his DT overlays configfs interface patches and fixes from
  https://github.com/pantoniou/linux-beagle-track-mainline
  
  efb0c04 Pantelis Antoniou : gcl: Fix resource linking
  85e785e Pantelis Antoniou : ARM: DT: Enable symbols when CONFIG_OF_OVERLAY 
  is used
  af0321f Pantelis Antoniou : OF: DT-Overlay configfs interface (v5)
  4c1c675 Pantelis Antoniou : configfs: Implement binary attributes (v4)
  
  
  Alan Tull (7):
staging: usage documentation for FPGA manager core
staging: usage documentation for simple fpga bus
staging: add bindings document for simple fpga bus
staging: fpga manager: add sysfs interface document
staging: fpga manager core
staging: add simple-fpga-bus
staging: fpga manager: add driver for socfpga fpga manager
  
   drivers/staging/Kconfig|2 +
   drivers/staging/Makefile   |1 +
   .../Documentation/ABI/sysfs-class-fpga-manager |   26 +
   .../Documentation/bindings/simple-fpga-bus.txt |   61 ++
   drivers/staging/fpga/Documentation/fpga-mgr.txt|  117 
   .../staging/fpga/Documentation/simple-fpga-bus.txt |   48 ++
   drivers/staging/fpga/Kconfig   |   31 +
   drivers/staging/fpga/Makefile  |   10 +
   drivers/staging/fpga/fpga-mgr.c|  373 
   drivers/staging/fpga/simple-fpga-bus.c |  323 ++
   drivers/staging/fpga/socfpga.c |  616 
  
 
 All drivers/staging/*/ directories need a TODO file that lists what
 needs to be done to it in order to get the code out of staging.  Please
 redo the series and add that.
 
   include/linux/fpga/fpga-mgr.h  |  127 
 
 This should be within drivers/staging/ all staging code should be
 self-contained.
 
 Why isn't this going into the real part of the kernel?  Why staging?
 

Hi Greg,

For v10 next week, I will likely break this into two patchsets, one for the
real kernel (drivers/fpga) and one for staging.

fpga-mgr.c can go into drivers/fpga since both Xilinx and Altera have
already been using this code.  It's not likely to change much.

The part that should go into staging is whatever interface is
controversial, that may change.  That's simple-fpga-bus.c and any
other interfaces that get added that use the functions exported by
fpga-mgr.c.  Maybe this 2nd patch set should be a RFC since it is still
dependent on some of Pantelis' stuff that's not in yet.

Alan Tull

 thanks,
 
 greg k-h
 
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH v9 0/7] FPGA Manager Framework and Simple FPGA Bus

2015-07-22 Thread atull
On Fri, 17 Jul 2015, atull wrote:

 On Fri, 17 Jul 2015, Jason Gunthorpe wrote:
 
  On Fri, Jul 17, 2015 at 10:51:10AM -0500, at...@opensource.altera.com wrote:
   From: Alan Tull at...@opensource.altera.com
   
   This patchset adds two chunks plus documentation:
* fpga manager core: exports ABI functions that write an image to a FPGA
* DT Overlay support: simple-fpga-bus to handle FPGA from a DT overlay
  
  I didn't read super closely, but overall it makes sense to me..
  
  Providing an in-kernel API will let someone else figure out how to
  expose that to user space. The DT based scheme seems pretty nice.
  
 
 Thanks!
 
  Can you use this without DT overlay? Ie if I provide the FGPA
  description as part of my boot time DT will it just work?
 
 The simple fpga bus would need to defer probing until after the fpga 
 manager driver and bridge drivers are probed (that's easy).  Since it is 
 using firmware, it will also have to defer until the filesystem is 
 available so it can get the fpga image to load.  I'll work on it.
 
 Alan

I looked some more; I don't see a simple way of deferring probing until 
after the filesystem is loaded (so that the image file would be 
available), late_initcall is still not late enough.

Alan


 
  
  Jason
  --
  To unsubscribe from this list: send the line unsubscribe devicetree in
  the body of a message to majord...@vger.kernel.org
  More majordomo info at  http://vger.kernel.org/majordomo-info.html
  
 
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH v9 0/7] FPGA Manager Framework and Simple FPGA Bus

2015-07-22 Thread Jason Gunthorpe
On Wed, Jul 22, 2015 at 03:32:32PM -0500, atull wrote:

 I looked some more; I don't see a simple way of deferring probing until 
 after the filesystem is loaded (so that the image file would be 
 available), late_initcall is still not late enough.

That seems weird, are you saying you can't use request firmware at all
from a compiled in driver? I don't know much about that flow, sorry.

Having that work would mean the system can have a reasonable in-tree
use case without requiring the out of tree dt overlay stuff.

Jason
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH v9 0/7] FPGA Manager Framework and Simple FPGA Bus

2015-07-22 Thread atull
On Wed, 22 Jul 2015, Jason Gunthorpe wrote:

 On Wed, Jul 22, 2015 at 03:32:32PM -0500, atull wrote:
 
  I looked some more; I don't see a simple way of deferring probing until 
  after the filesystem is loaded (so that the image file would be 
  available), late_initcall is still not late enough.
 
 That seems weird, are you saying you can't use request firmware at all
 from a compiled in driver? I don't know much about that flow, sorry.
 
 Having that work would mean the system can have a reasonable in-tree
 use case without requiring the out of tree dt overlay stuff.
 

It would work if the firmware is built into the kernel image.  It's
the same function call.

Alan

 Jason
 --
 To unsubscribe from this list: send the line unsubscribe devicetree in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html
 
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH v9 0/7] FPGA Manager Framework and Simple FPGA Bus

2015-07-22 Thread Greg KH
On Fri, Jul 17, 2015 at 10:51:10AM -0500, at...@opensource.altera.com wrote:
 From: Alan Tull at...@opensource.altera.com
 
 This patchset adds two chunks plus documentation:
  * fpga manager core: exports ABI functions that write an image to a FPGA
  * DT Overlay support: simple-fpga-bus to handle FPGA from a DT overlay
 
 The core's ABI is minimal to start with: only 6 functions.  This gives a
 common interface for programming various FPGA such that any higher level
 interfaces such as the DT Overlays or anything else that is added can be
 shared and not be manufacturor-specific.
 
 The DT Overlays support exists for the usage where the FPGA will contain
 some hardware that will need drivers.  Where that use model is not
 appealing, the core ABI can be used to add a different use model such as
 using an FPGA as acceleration as has been discussed.
 
 This patchset gets rid of the sysfs controls that allowed direct
 control of a FPGA from userspace.
 
 This patchset is under drivers/staging as the interface could change.
 
 The bindings for the socpfga fpga manager already are upstreamed as
 1b4e119 Alan Tull : doc: add bindings document for altera fpga manager
 
 The DT Support is dependent on Pantelis's dtc overlay patches from
 https://github.com/pantoniou/dtc.git
 and his DT overlays configfs interface patches and fixes from
 https://github.com/pantoniou/linux-beagle-track-mainline
 
 efb0c04 Pantelis Antoniou : gcl: Fix resource linking
 85e785e Pantelis Antoniou : ARM: DT: Enable symbols when CONFIG_OF_OVERLAY is 
 used
 af0321f Pantelis Antoniou : OF: DT-Overlay configfs interface (v5)
 4c1c675 Pantelis Antoniou : configfs: Implement binary attributes (v4)
 
 
 Alan Tull (7):
   staging: usage documentation for FPGA manager core
   staging: usage documentation for simple fpga bus
   staging: add bindings document for simple fpga bus
   staging: fpga manager: add sysfs interface document
   staging: fpga manager core
   staging: add simple-fpga-bus
   staging: fpga manager: add driver for socfpga fpga manager
 
  drivers/staging/Kconfig|2 +
  drivers/staging/Makefile   |1 +
  .../Documentation/ABI/sysfs-class-fpga-manager |   26 +
  .../Documentation/bindings/simple-fpga-bus.txt |   61 ++
  drivers/staging/fpga/Documentation/fpga-mgr.txt|  117 
  .../staging/fpga/Documentation/simple-fpga-bus.txt |   48 ++
  drivers/staging/fpga/Kconfig   |   31 +
  drivers/staging/fpga/Makefile  |   10 +
  drivers/staging/fpga/fpga-mgr.c|  373 
  drivers/staging/fpga/simple-fpga-bus.c |  323 ++
  drivers/staging/fpga/socfpga.c |  616 
 

All drivers/staging/*/ directories need a TODO file that lists what
needs to be done to it in order to get the code out of staging.  Please
redo the series and add that.

  include/linux/fpga/fpga-mgr.h  |  127 

This should be within drivers/staging/ all staging code should be
self-contained.

Why isn't this going into the real part of the kernel?  Why staging?

thanks,

greg k-h
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH v9 0/7] FPGA Manager Framework and Simple FPGA Bus

2015-07-17 Thread atull
From: Alan Tull at...@opensource.altera.com

This patchset adds two chunks plus documentation:
 * fpga manager core: exports ABI functions that write an image to a FPGA
 * DT Overlay support: simple-fpga-bus to handle FPGA from a DT overlay

The core's ABI is minimal to start with: only 6 functions.  This gives a
common interface for programming various FPGA such that any higher level
interfaces such as the DT Overlays or anything else that is added can be
shared and not be manufacturor-specific.

The DT Overlays support exists for the usage where the FPGA will contain
some hardware that will need drivers.  Where that use model is not
appealing, the core ABI can be used to add a different use model such as
using an FPGA as acceleration as has been discussed.

This patchset gets rid of the sysfs controls that allowed direct
control of a FPGA from userspace.

This patchset is under drivers/staging as the interface could change.

The bindings for the socpfga fpga manager already are upstreamed as
1b4e119 Alan Tull : doc: add bindings document for altera fpga manager

The DT Support is dependent on Pantelis's dtc overlay patches from
https://github.com/pantoniou/dtc.git
and his DT overlays configfs interface patches and fixes from
https://github.com/pantoniou/linux-beagle-track-mainline

efb0c04 Pantelis Antoniou : gcl: Fix resource linking
85e785e Pantelis Antoniou : ARM: DT: Enable symbols when CONFIG_OF_OVERLAY is 
used
af0321f Pantelis Antoniou : OF: DT-Overlay configfs interface (v5)
4c1c675 Pantelis Antoniou : configfs: Implement binary attributes (v4)


Alan Tull (7):
  staging: usage documentation for FPGA manager core
  staging: usage documentation for simple fpga bus
  staging: add bindings document for simple fpga bus
  staging: fpga manager: add sysfs interface document
  staging: fpga manager core
  staging: add simple-fpga-bus
  staging: fpga manager: add driver for socfpga fpga manager

 drivers/staging/Kconfig|2 +
 drivers/staging/Makefile   |1 +
 .../Documentation/ABI/sysfs-class-fpga-manager |   26 +
 .../Documentation/bindings/simple-fpga-bus.txt |   61 ++
 drivers/staging/fpga/Documentation/fpga-mgr.txt|  117 
 .../staging/fpga/Documentation/simple-fpga-bus.txt |   48 ++
 drivers/staging/fpga/Kconfig   |   31 +
 drivers/staging/fpga/Makefile  |   10 +
 drivers/staging/fpga/fpga-mgr.c|  373 
 drivers/staging/fpga/simple-fpga-bus.c |  323 ++
 drivers/staging/fpga/socfpga.c |  616 
 include/linux/fpga/fpga-mgr.h  |  127 
 12 files changed, 1735 insertions(+)
 create mode 100644 
drivers/staging/fpga/Documentation/ABI/sysfs-class-fpga-manager
 create mode 100644 
drivers/staging/fpga/Documentation/bindings/simple-fpga-bus.txt
 create mode 100644 drivers/staging/fpga/Documentation/fpga-mgr.txt
 create mode 100644 drivers/staging/fpga/Documentation/simple-fpga-bus.txt
 create mode 100644 drivers/staging/fpga/Kconfig
 create mode 100644 drivers/staging/fpga/Makefile
 create mode 100644 drivers/staging/fpga/fpga-mgr.c
 create mode 100644 drivers/staging/fpga/simple-fpga-bus.c
 create mode 100644 drivers/staging/fpga/socfpga.c
 create mode 100644 include/linux/fpga/fpga-mgr.h

-- 
1.7.9.5

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH v9 0/7] FPGA Manager Framework and Simple FPGA Bus

2015-07-17 Thread Jason Gunthorpe
On Fri, Jul 17, 2015 at 10:51:10AM -0500, at...@opensource.altera.com wrote:
 From: Alan Tull at...@opensource.altera.com
 
 This patchset adds two chunks plus documentation:
  * fpga manager core: exports ABI functions that write an image to a FPGA
  * DT Overlay support: simple-fpga-bus to handle FPGA from a DT overlay

I didn't read super closely, but overall it makes sense to me..

Providing an in-kernel API will let someone else figure out how to
expose that to user space. The DT based scheme seems pretty nice.

Can you use this without DT overlay? Ie if I provide the FGPA
description as part of my boot time DT will it just work?

Jason
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH v9 0/7] FPGA Manager Framework and Simple FPGA Bus

2015-07-17 Thread atull
On Fri, 17 Jul 2015, Jason Gunthorpe wrote:

 On Fri, Jul 17, 2015 at 10:51:10AM -0500, at...@opensource.altera.com wrote:
  From: Alan Tull at...@opensource.altera.com
  
  This patchset adds two chunks plus documentation:
   * fpga manager core: exports ABI functions that write an image to a FPGA
   * DT Overlay support: simple-fpga-bus to handle FPGA from a DT overlay
 
 I didn't read super closely, but overall it makes sense to me..
 
 Providing an in-kernel API will let someone else figure out how to
 expose that to user space. The DT based scheme seems pretty nice.
 

Thanks!

 Can you use this without DT overlay? Ie if I provide the FGPA
 description as part of my boot time DT will it just work?

The simple fpga bus would need to defer probing until after the fpga 
manager driver and bridge drivers are probed (that's easy).  Since it is 
using firmware, it will also have to defer until the filesystem is 
available so it can get the fpga image to load.  I'll work on it.

Alan

 
 Jason
 --
 To unsubscribe from this list: send the line unsubscribe devicetree in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html
 
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel