Skip to contentSkip to conversation

fpga: fpga-region: comment on fpga_region_program_fpga locking

PATCH In review Alan Tull 3 participants 4 messages Jan 25, 2018 FPGA manager framework

lore
Share & tools
lore

Alan Tull

author
#0 lore raw

PATCH 1/1 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.

---
 drivers/fpga/fpga-region.c | 5 +++++
 1 file changed, 5 insertions(+)
drivers/fpga/fpga-region.c +5 -0
index edab2a2..cb0603e 100644
@@ -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)
Signature · 1 line
2.7.4
#1 lore raw

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

Quoted 32 lines

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

---
drivers/fpga/fpga-region.c | 5 +++++

1 file changed, 5 insertions(+)
drivers/fpga/fpga-region.c +5 -0
index edab2a2..cb0603e 100644
@@ -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)
Signature · 6 lines
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
maintainer Acked-by on v1 1/1
#2 lore raw
In reply to Alan Tull

Hi Alan,

looks good.

Quoted 4 lines · Alan Tull

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

Quoted 23 lines
---
 drivers/fpga/fpga-region.c | 5 +++++
 1 file changed, 5 insertions(+)
drivers/fpga/fpga-region.c +5 -0
index edab2a2..cb0603e 100644
@@ -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)
Signature · 1 line
2.7.4

- Moritz

author
#3 lore raw
Quoted 4 lines · Moritz Fischer

Hi Alan,

looks good.

Thanks, Moritz!

Quoted 31 lines · Alan Tull
Quoted 4 lines

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

Quoted 21 lines
---
 drivers/fpga/fpga-region.c | 5 +++++
 1 file changed, 5 insertions(+)
drivers/fpga/fpga-region.c +5 -1
index edab2a2..cb0603e 100644
@@ -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)
--
Quoted 2 lines

2.7.4

- Moritz