2018-01-25 15:40:29

by Alan Tull

[permalink] [raw]
Subject: [PATCH] fpga: fpga-region: comment on fpga_region_program_fpga locking

Add a comment to the header of fpga_region_program_fpga()
regarding locking of the bridges.

Signed-off-by: Alan Tull <[email protected]>
---
drivers/fpga/fpga-region.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/drivers/fpga/fpga-region.c b/drivers/fpga/fpga-region.c
index edab2a2..cb0603e 100644
--- a/drivers/fpga/fpga-region.c
+++ b/drivers/fpga/fpga-region.c
@@ -95,6 +95,11 @@ static void fpga_region_put(struct fpga_region *region)
* fpga_region_program_fpga - program FPGA
* @region: FPGA region
* Program an FPGA using fpga image info (region->info).
+ * If the region has a get_bridges function, the exclusive reference for the
+ * bridges will be held if programming succeeds. This is intended to prevent
+ * reprogramming the region until the caller considers it safe to do so.
+ * The caller will need to call fpga_bridges_put() before attempting to
+ * reprogram the region.
* Return 0 for success or negative error code.
*/
int fpga_region_program_fpga(struct fpga_region *region)
--
2.7.4



2018-01-25 16:15:56

by Matthew Gerlach

[permalink] [raw]
Subject: Re: [PATCH] fpga: fpga-region: comment on fpga_region_program_fpga locking



On Thu, 25 Jan 2018, Alan Tull wrote:

Hi Alan,

I seem to remember issue coming up a couple of times.
I think this comment will be very helpful.

Matthew Gerlach

> Add a comment to the header of fpga_region_program_fpga()
> regarding locking of the bridges.
>
> Signed-off-by: Alan Tull <[email protected]>
> ---
> drivers/fpga/fpga-region.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/fpga/fpga-region.c b/drivers/fpga/fpga-region.c
> index edab2a2..cb0603e 100644
> --- a/drivers/fpga/fpga-region.c
> +++ b/drivers/fpga/fpga-region.c
> @@ -95,6 +95,11 @@ static void fpga_region_put(struct fpga_region *region)
> * fpga_region_program_fpga - program FPGA
> * @region: FPGA region
> * Program an FPGA using fpga image info (region->info).
> + * If the region has a get_bridges function, the exclusive reference for the
> + * bridges will be held if programming succeeds. This is intended to prevent
> + * reprogramming the region until the caller considers it safe to do so.
> + * The caller will need to call fpga_bridges_put() before attempting to
> + * reprogram the region.
> * Return 0 for success or negative error code.
> */
> int fpga_region_program_fpga(struct fpga_region *region)
> --
> 2.7.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fpga" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>

2018-01-25 19:15:38

by Moritz Fischer

[permalink] [raw]
Subject: Re: [PATCH] fpga: fpga-region: comment on fpga_region_program_fpga locking

Hi Alan,

looks good.

On Thu, Jan 25, 2018 at 09:39:22AM -0600, Alan Tull wrote:
> Add a comment to the header of fpga_region_program_fpga()
> regarding locking of the bridges.
>
> Signed-off-by: Alan Tull <[email protected]>
Acked-by: Moritz Fischer <[email protected]>
> ---
> drivers/fpga/fpga-region.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/fpga/fpga-region.c b/drivers/fpga/fpga-region.c
> index edab2a2..cb0603e 100644
> --- a/drivers/fpga/fpga-region.c
> +++ b/drivers/fpga/fpga-region.c
> @@ -95,6 +95,11 @@ static void fpga_region_put(struct fpga_region *region)
> * fpga_region_program_fpga - program FPGA
> * @region: FPGA region
> * Program an FPGA using fpga image info (region->info).
> + * If the region has a get_bridges function, the exclusive reference for the
> + * bridges will be held if programming succeeds. This is intended to prevent
> + * reprogramming the region until the caller considers it safe to do so.
> + * The caller will need to call fpga_bridges_put() before attempting to
> + * reprogram the region.
> * Return 0 for success or negative error code.
> */
> int fpga_region_program_fpga(struct fpga_region *region)
> --
> 2.7.4
>

- Moritz


Attachments:
(No filename) (1.23 kB)
signature.asc (499.00 B)
Download all attachments

2018-01-25 19:22:21

by Alan Tull

[permalink] [raw]
Subject: Re: [PATCH] fpga: fpga-region: comment on fpga_region_program_fpga locking

On Thu, Jan 25, 2018 at 1:09 PM, Moritz Fischer <[email protected]> wrote:
> Hi Alan,
>
> looks good.
>

Thanks, Moritz!

> On Thu, Jan 25, 2018 at 09:39:22AM -0600, Alan Tull wrote:
>> Add a comment to the header of fpga_region_program_fpga()
>> regarding locking of the bridges.
>>
>> Signed-off-by: Alan Tull <[email protected]>
> Acked-by: Moritz Fischer <[email protected]>
>> ---
>> drivers/fpga/fpga-region.c | 5 +++++
>> 1 file changed, 5 insertions(+)
>>
>> diff --git a/drivers/fpga/fpga-region.c b/drivers/fpga/fpga-region.c
>> index edab2a2..cb0603e 100644
>> --- a/drivers/fpga/fpga-region.c
>> +++ b/drivers/fpga/fpga-region.c
>> @@ -95,6 +95,11 @@ static void fpga_region_put(struct fpga_region *region)
>> * fpga_region_program_fpga - program FPGA
>> * @region: FPGA region
>> * Program an FPGA using fpga image info (region->info).
>> + * If the region has a get_bridges function, the exclusive reference for the
>> + * bridges will be held if programming succeeds. This is intended to prevent
>> + * reprogramming the region until the caller considers it safe to do so.
>> + * The caller will need to call fpga_bridges_put() before attempting to
>> + * reprogram the region.
>> * Return 0 for success or negative error code.
>> */
>> int fpga_region_program_fpga(struct fpga_region *region)
>> --
>> 2.7.4
>>
>
> - Moritz