From: Alan Tull <atull@kernel.org> To: Moritz Fischer <moritz.fischer@ettus.com>, Jason Gunthorpe <jgunthorpe@obsidianresearch.com> Cc: Alan Tull <atull@kernel.org>, linux-kernel@vger.kernel.org, linux-fpga@vger.kernel.org Subject: [RFC 4/8] doc: fpga-mgr: separate getting/locking FPGA manager Date: Wed, 15 Feb 2017 10:14:17 -0600 [thread overview] Message-ID: <1487175261-7051-5-git-send-email-atull@kernel.org> (raw) In-Reply-To: <1487175261-7051-1-git-send-email-atull@kernel.org> Document that getting a reference to a FPGA Manager has been separated from locking the FPGA Mangager for use. fpga_mgr_lock/unlock functions get/release mutex. of_fpga_mgr_get, fpga_mgr_get, and fpga_mgr_put no longer lock the FPGA manager mutex. This makes it more straigtforward to save a reference to a FPGA manager and only attempting to lock it when programming the FPGA. Signed-off-by: Alan Tull <atull@kernel.org> --- Documentation/fpga/fpga-mgr.txt | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/Documentation/fpga/fpga-mgr.txt b/Documentation/fpga/fpga-mgr.txt index 78f197f..06d5d5b 100644 --- a/Documentation/fpga/fpga-mgr.txt +++ b/Documentation/fpga/fpga-mgr.txt @@ -53,13 +53,26 @@ To get/put a reference to a FPGA manager: struct fpga_manager *of_fpga_mgr_get(struct device_node *node); struct fpga_manager *fpga_mgr_get(struct device *dev); -Given a DT node or device, get an exclusive reference to a FPGA manager. +Given a DT node or device, get an reference to a FPGA manager. Pointer +can be saved until you are ready to program the FPGA. void fpga_mgr_put(struct fpga_manager *mgr); Release the reference. +To get exclusive control of a FPGA manager: +------------------------------------------- + + int fpga_mgr_lock(struct fpga_magager *mgr); + +Call fpga_mgr_lock and verify that it returns 0 before attempting to +program the FPGA. + + void fpga_mgr_unlock(struct fpga_magager *mgr); + +Call fpga_mgr_unlock when done programming the FPGA. + To register or unregister the low level FPGA-specific driver: ------------------------------------------------------------- @@ -95,11 +108,13 @@ int ret; /* Get exclusive control of FPGA manager */ struct fpga_manager *mgr = of_fpga_mgr_get(mgr_node); +ret = fpga_mgr_lock(mgr); /* Load the buffer to the FPGA */ ret = fpga_mgr_buf_load(mgr, &info, buf, count); /* Release the FPGA manager */ +fpga_mgr_unlock(mgr); fpga_mgr_put(mgr); @@ -124,11 +139,13 @@ int ret; /* Get exclusive control of FPGA manager */ struct fpga_manager *mgr = of_fpga_mgr_get(mgr_node); +ret = fpga_mgr_lock(mgr); /* Get the firmware image (path) and load it to the FPGA */ ret = fpga_mgr_firmware_load(mgr, &info, path); /* Release the FPGA manager */ +fpga_mgr_unlock(mgr); fpga_mgr_put(mgr); -- 2.7.4
next prev parent reply other threads:[~2017-02-15 16:16 UTC|newest] Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-02-15 16:14 FPGA Region enhancements and fixes Alan Tull 2017-02-15 16:14 ` [RFC 1/8] fpga-mgr: add a single function for fpga loading methods Alan Tull 2017-02-16 0:36 ` matthew.gerlach 2017-02-15 16:14 ` [RFC 2/8] fpga-region: support more than one overlay per FPGA region Alan Tull 2017-02-16 16:50 ` matthew.gerlach 2017-02-16 17:35 ` Alan Tull 2017-02-15 16:14 ` [RFC 3/8] fpga-bridge: add non-dt support Alan Tull 2017-02-15 16:14 ` Alan Tull [this message] 2017-02-17 17:14 ` [RFC 4/8] doc: fpga-mgr: separate getting/locking FPGA manager Li, Yi 2017-02-17 21:55 ` Alan Tull 2017-02-17 17:52 ` Moritz Fischer 2017-02-17 22:02 ` Alan Tull 2017-02-15 16:14 ` [RFC 5/8] " Alan Tull 2017-02-15 16:14 ` [RFC 6/8] fpga-region: separate out common code to allow non-dt support Alan Tull 2017-02-15 16:14 ` [RFC 7/8] fpga-region: add sysfs interface Alan Tull 2017-02-15 17:21 ` Jason Gunthorpe 2017-02-15 17:46 ` Alan Tull 2017-02-15 17:55 ` Moritz Fischer 2017-02-15 18:06 ` Jason Gunthorpe 2017-02-15 18:23 ` Alan Tull 2017-02-15 18:31 ` Moritz Fischer 2017-02-15 19:49 ` Jason Gunthorpe 2017-02-15 22:49 ` Alan Tull 2017-02-15 23:07 ` Jason Gunthorpe 2017-02-15 20:07 ` matthew.gerlach 2017-02-15 20:37 ` Jason Gunthorpe 2017-02-15 20:54 ` Moritz Fischer 2017-02-15 21:15 ` Jason Gunthorpe 2017-02-15 21:36 ` Moritz Fischer 2017-02-15 22:42 ` Alan Tull 2017-02-16 0:16 ` Moritz Fischer 2017-02-16 17:47 ` Alan Tull 2017-02-16 17:56 ` Jason Gunthorpe 2017-02-16 18:11 ` Moritz Fischer 2017-02-17 22:28 ` Yves Vandervennet 2017-02-18 2:30 ` Moritz Fischer 2017-02-18 12:45 ` Nadathur, Sundar 2017-02-18 20:10 ` Alan Tull 2017-02-18 20:45 ` Moritz Fischer 2017-02-19 15:00 ` Alan Tull 2017-02-19 23:16 ` Alan Tull 2017-02-20 23:49 ` Moritz Fischer 2017-02-21 18:33 ` Alan Tull 2017-02-22 3:13 ` Nadathur, Sundar 2017-02-22 3:49 ` Moritz Fischer 2017-02-22 5:12 ` Jason Gunthorpe 2017-02-22 5:38 ` Moritz Fischer 2017-02-22 5:46 ` Nadathur, Sundar 2017-02-22 6:05 ` Moritz Fischer 2017-02-22 16:44 ` Jason Gunthorpe 2017-02-22 17:50 ` Moritz Fischer 2017-02-22 17:54 ` Jason Gunthorpe 2017-02-22 17:57 ` Moritz Fischer 2017-02-22 16:33 ` Alan Tull 2017-02-22 16:44 ` Moritz Fischer 2017-02-22 16:52 ` Alan Tull 2017-02-27 20:09 ` Alan Tull 2017-02-27 22:49 ` Moritz Fischer 2017-02-28 0:04 ` matthew.gerlach 2017-02-15 21:20 ` Anatolij Gustschin 2017-02-15 16:14 ` [RFC 8/8] doc: fpga: add sysfs document for fpga region Alan Tull 2017-02-28 17:35 ` FPGA Region enhancements and fixes Alan Tull 2017-02-28 22:03 ` Alan Tull
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1487175261-7051-5-git-send-email-atull@kernel.org \ --to=atull@kernel.org \ --cc=jgunthorpe@obsidianresearch.com \ --cc=linux-fpga@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=moritz.fischer@ettus.com \ --subject='Re: [RFC 4/8] doc: fpga-mgr: separate getting/locking FPGA manager' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.