Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1443774 > unrolled thread

Re: [PATCH v18 4/6] fpga: add fpga bridge framework

Started byPaul Gortmaker <paul.gortmaker@windriver.com>
First post2016-07-14 23:00 +0200
Last post2016-07-15 19:00 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH v18 4/6] fpga: add fpga bridge framework Paul Gortmaker <paul.gortmaker@windriver.com> - 2016-07-14 23:00 +0200
    Re: [PATCH v18 4/6] fpga: add fpga bridge framework Alan Tull <delicious.quinoa@gmail.com> - 2016-07-15 19:00 +0200

#1443774 — Re: [PATCH v18 4/6] fpga: add fpga bridge framework

FromPaul Gortmaker <paul.gortmaker@windriver.com>
Date2016-07-14 23:00 +0200
SubjectRe: [PATCH v18 4/6] fpga: add fpga bridge framework
Message-ID<rUVTI-62L-9@gated-at.bofh.it>
On Tue, Jul 12, 2016 at 3:36 PM, Alan Tull <atull@opensource.altera.com> wrote:
> This framework adds API functions for enabling/
> disabling FPGA bridges under kernel control.
>
> This allows the Linux kernel to disable FPGA bridges
> during FPGA reprogramming and to enable FPGA bridges
> when FPGA reprogramming is done.  This framework is
> be manufacturer-agnostic, allowing it to be used in
> interfaces that use the FPGA Manager Framework to
> reprogram FPGA's.
>
> The functions are:
> * of_fpga_bridge_get
> * fpga_bridge_put
>    Get/put an exclusive reference to a FPGA bridge.
>
> * fpga_bridge_enable
> * fpga_bridge_disable
>    Enable/Disable traffic through a bridge.
>
> * fpga_bridge_register
> * fpga_bridge_unregister
>    Register/unregister a device-specific low level FPGA
>    Bridge driver.
>
> Get an exclusive reference to a bridge and add it to a list:
> * fpga_bridge_get_to_list
>
> To enable/disable/put a set of bridges that are on a list:
> * fpga_bridges_enable
> * fpga_bridges_disable
> * fpga_bridges_put
>
> Signed-off-by: Alan Tull <atull@opensource.altera.com>
> ---
> v2:  Minor cleanup
> v12: Bump version to line up with simple fpga bus
>      Remove sysfs
>      Improve get/put functions, get the low level driver too.
>      Clean up class implementation
>      Add kernel doc documentation
>      Rename (un)register_fpga_bridge -> fpga_bridge_(un)register
> v13: Add inlined empty functions for if not CONFIG_FPGA_BRIDGE
>      Clean up debugging
>      Remove unneeded #include in .h
>      Remove unnecessary prints
>      Remove 'label' DT binding.
>      Document the mutex
> v14: Allow bridges with no ops
>      *const* struct fpga_bridge_ops
>      Add functions to git/put/enable/disable list of bridges
>      Add list node to struct fpga_bridge
>      Do of_node_get/put in of_fpga_bridge_get()
>      Add r/o attributes: name and state
> v15: No change in this patch for v15 of this patch set
> v16: Remove of_get_fpga_bus function
> v17: No change to this patch in v17 of patch set
> v18: No change to this patch in v18 of patch set
> ---
>  drivers/fpga/Kconfig             |   7 +
>  drivers/fpga/Makefile            |   3 +
>  drivers/fpga/fpga-bridge.c       | 388 +++++++++++++++++++++++++++++++++++++++
>  include/linux/fpga/fpga-bridge.h |  55 ++++++
>  4 files changed, 453 insertions(+)
>  create mode 100644 drivers/fpga/fpga-bridge.c
>  create mode 100644 include/linux/fpga/fpga-bridge.h
>
> diff --git a/drivers/fpga/Kconfig b/drivers/fpga/Kconfig
> index d614102..46e20af 100644
> --- a/drivers/fpga/Kconfig
> +++ b/drivers/fpga/Kconfig
> @@ -25,6 +25,13 @@ config FPGA_MGR_ZYNQ_FPGA
>         help
>           FPGA manager driver support for Xilinx Zynq FPGAs.
>
> +config FPGA_BRIDGE
> +       bool "FPGA Bridge Framework"

Same here. A bool Kconfig but module.h etc. used in the driver.

Either make the code modular with a tristate if there is a valid
use case for that, or get rid of the modular references.

Thanks,
Paul.
--

[toc] | [next] | [standalone]


#1444451

FromAlan Tull <delicious.quinoa@gmail.com>
Date2016-07-15 19:00 +0200
Message-ID<rVeCZ-QX-15@gated-at.bofh.it>
In reply to#1443774
On Thu, Jul 14, 2016 at 3:54 PM, Paul Gortmaker
<paul.gortmaker@windriver.com> wrote:
> On Tue, Jul 12, 2016 at 3:36 PM, Alan Tull <atull@opensource.altera.com> wrote:
>> This framework adds API functions for enabling/
>> disabling FPGA bridges under kernel control.
>>
>> This allows the Linux kernel to disable FPGA bridges
>> during FPGA reprogramming and to enable FPGA bridges
>> when FPGA reprogramming is done.  This framework is
>> be manufacturer-agnostic, allowing it to be used in
>> interfaces that use the FPGA Manager Framework to
>> reprogram FPGA's.
>>
>> The functions are:
>> * of_fpga_bridge_get
>> * fpga_bridge_put
>>    Get/put an exclusive reference to a FPGA bridge.
>>
>> * fpga_bridge_enable
>> * fpga_bridge_disable
>>    Enable/Disable traffic through a bridge.
>>
>> * fpga_bridge_register
>> * fpga_bridge_unregister
>>    Register/unregister a device-specific low level FPGA
>>    Bridge driver.
>>
>> Get an exclusive reference to a bridge and add it to a list:
>> * fpga_bridge_get_to_list
>>
>> To enable/disable/put a set of bridges that are on a list:
>> * fpga_bridges_enable
>> * fpga_bridges_disable
>> * fpga_bridges_put
>>
>> Signed-off-by: Alan Tull <atull@opensource.altera.com>
>> ---
>> v2:  Minor cleanup
>> v12: Bump version to line up with simple fpga bus
>>      Remove sysfs
>>      Improve get/put functions, get the low level driver too.
>>      Clean up class implementation
>>      Add kernel doc documentation
>>      Rename (un)register_fpga_bridge -> fpga_bridge_(un)register
>> v13: Add inlined empty functions for if not CONFIG_FPGA_BRIDGE
>>      Clean up debugging
>>      Remove unneeded #include in .h
>>      Remove unnecessary prints
>>      Remove 'label' DT binding.
>>      Document the mutex
>> v14: Allow bridges with no ops
>>      *const* struct fpga_bridge_ops
>>      Add functions to git/put/enable/disable list of bridges
>>      Add list node to struct fpga_bridge
>>      Do of_node_get/put in of_fpga_bridge_get()
>>      Add r/o attributes: name and state
>> v15: No change in this patch for v15 of this patch set
>> v16: Remove of_get_fpga_bus function
>> v17: No change to this patch in v17 of patch set
>> v18: No change to this patch in v18 of patch set
>> ---
>>  drivers/fpga/Kconfig             |   7 +
>>  drivers/fpga/Makefile            |   3 +
>>  drivers/fpga/fpga-bridge.c       | 388 +++++++++++++++++++++++++++++++++++++++
>>  include/linux/fpga/fpga-bridge.h |  55 ++++++
>>  4 files changed, 453 insertions(+)
>>  create mode 100644 drivers/fpga/fpga-bridge.c
>>  create mode 100644 include/linux/fpga/fpga-bridge.h
>>
>> diff --git a/drivers/fpga/Kconfig b/drivers/fpga/Kconfig
>> index d614102..46e20af 100644
>> --- a/drivers/fpga/Kconfig
>> +++ b/drivers/fpga/Kconfig
>> @@ -25,6 +25,13 @@ config FPGA_MGR_ZYNQ_FPGA
>>         help
>>           FPGA manager driver support for Xilinx Zynq FPGAs.
>>
>> +config FPGA_BRIDGE
>> +       bool "FPGA Bridge Framework"
>
> Same here. A bool Kconfig but module.h etc. used in the driver.
>
> Either make the code modular with a tristate if there is a valid
> use case for that, or get rid of the modular references.

Yes, of course.  Thanks!

Alan Tull

>
> Thanks,
> Paul.
> --

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web