Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1617876
| From | Wu Hao <hao.wu@intel.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH 11/16] fpga: intel: fme: add partial reconfiguration sub feature support |
| Date | 2017-04-06 13:10 +0200 |
| Message-ID | <ttdsB-7HU-1@gated-at.bofh.it> (permalink) |
| References | (5 earlier) <tspYS-130-23@gated-at.bofh.it> <tsFhf-2yy-11@gated-at.bofh.it> <tsRBL-25z-23@gated-at.bofh.it> <tsV2G-4nq-21@gated-at.bofh.it> <tsVm2-4tM-5@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Wed, Apr 05, 2017 at 10:39:05AM -0500, Alan Tull wrote: > On Wed, Apr 5, 2017 at 10:26 AM, Alan Tull <atull@kernel.org> wrote: > > On Wed, Apr 5, 2017 at 6:40 AM, Wu, Hao <hao.wu@intel.com> wrote: > >>> >> The fpga_image_info struct started life as just image specific info, > >>> >> but I want it to go in the direction of including parameters needed to > >>> >> program it this specific time. Otherwise we are stuck having to keep > >>> >> adding parameters as our use of FPGA develops. It probably could be > >>> >> documented better as 'information needed to program a FPGA image' > >>> >> rather than strictly 'information about this particular FPGA image'. > >>> >> My patch "fpga-mgr: pass parameters for loading fpga in image info" > >>> >> goes in this direction by having the buf, firmware name, or sg list > >>> >> passed in the info for the added fpga_mgr_load() function. Actually I > >>> >> should probably simplify the API and get rid of fpga_mgr_buf_load, > >>> >> fpga_mgr_buf_load_sg, and fpga_mgr_firmware_load and require people to > >>> >> use fpga_mgr_load (passing all parameters in fpga_image_info). > >>> >> > >>> > > >>> > Make sense. > >>> > > >>> >> > It may be a > >>> >> > little confusing. One rough idea is that keep this info under fpga region > >>> >> > (maybe its private data), and pass the fpga-region to fpga_mgr_buf_load, > >>> >> > >>> >> Yes, keep this info in fpga-region. When the region wants to program > >>> >> using fpga-mgr, add the region id to fpga_image_info. I propose > >>> >> calling it region_id. > >>> > > >>> > Hm.. Do we need a function which moves info from region to image info? > >>> > >>> No, just code that sets that variable in the struct before calling the > >>> fpga_region_program_fpga function. > >>> > >>> > > >>> > Another idea is, add a priv to fpga_image_info, and use a common function > >>> > to pass the fpga_region's priv to fpga_image_info's priv before PR. > >>> > fpga-mgr then knows fpga_region priv info from the fpga_image_info. > >>> > > >>> > >>> Adding priv would make the interface for fpga-mgr non-uniform. The point > >>> of having a fpga-mgr framework is that there > >>> is the potential of the upper layers working for different FPGA devices. > >>> If the interface for each FPGA device were different, that would then > >>> be broken. > >>> > >> > >> I mean drivers can register their own fpga-mgr ops, and handle priv of > >> fpga_image_info in driver specific way for pr (e.g write_init function). > >> We don't need to change the any upper layer interfaces. > > > > I'm trying to avoid driver specific ways of doing things. Think of this > > all as a set of blocks and we want to be able to switch out individual > > blocks in the future. It's future-proofing and also making code more > > generally usable. > > > > fpga_mgr_info is part of the interface for calls to fpga-mgr to do > > reprogramming. My patchset will push it further in that direction > > as pointers to the image are added to fpga_mgr_info. > > > > Adding 'priv' to fpga_mgr_info makes that interface specific to a this driver. > > It's better to add a region_id variable to fpga_mgr_info that may not be used by > > all fpga-mgr drivers. The current model is that a fpga-mgr driver checks > > fpga_mgr_info flags to see if its correct. The fpga-mgr driver can check > > any other needed fpga_mgr_info variables and return error if the params > > look invalid. And ignore any it doesn't need. > > > > I don't think priv belongs in fpga_image_info. priv tends to be information > > for a specific instance of a driver that can have several instances. priv > > usually stores a driver's memory mappings, interrupts, etc for that instance. > > It's called private info as it is info that other blocks don't need to know > > and don't get to look at. It's private. So priv as in interface strikes me as > > not private any more and is sort of a red flag. Thanks a lot for the details. It's more clear to me now. :) > > > > Alan > > Besides that, I see that region_id is needed both for the fme_pr and > for determining which port to disable/enable. So adding it to the > fpga_image_info would allow the fpga-region to figure out which > bridge to control as well as pass it to the mgr. > Do we need to add an 'id' to fpga-bridge too? Per my understanding this FME driver should create fpga-region for each accelerator, and make sure each fpga-region has correct region_id. When this fpga-region wants to be programmed by fpga-mgr, then it add this info to fpga_image_info, and fpga-mgr knows which region to program via this fpga_image_info. For each fpga-region, FME driver needs to create one fpga-bridge and link it to region's bridge_list. When fpga_region_program_fpga is invoked for PR. This fpga-bridge could be disabled before PR and re-enabled after PR automatically. If fpga-bridge contains this 'id' information, then driver knows which port to enable/disable to implement of the enable_set function under this fpga-bridge. Thanks Hao > > > >> > >> If you prefer the region_id for fpga_image_info, we can go with region_id > >> for sure. : ) > >> > >> Thanks > >> Hao
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 00/16] Intel FPGA Device Drivers Wu Hao <hao.wu@intel.com> - 2017-03-30 14:20 +0200
[PATCH 02/16] fpga: add FPGA device framework Wu Hao <hao.wu@intel.com> - 2017-03-30 14:20 +0200
Re: [PATCH 02/16] fpga: add FPGA device framework Greg KH <greg@kroah.com> - 2017-03-31 08:10 +0200
Re: [PATCH 02/16] fpga: add FPGA device framework Wu Hao <hao.wu@intel.com> - 2017-03-31 10:00 +0200
Re: [PATCH 02/16] fpga: add FPGA device framework Greg KH <greg@kroah.com> - 2017-03-31 11:10 +0200
Re: [PATCH 02/16] fpga: add FPGA device framework Wu Hao <hao.wu@intel.com> - 2017-03-31 14:30 +0200
Re: [PATCH 02/16] fpga: add FPGA device framework matthew.gerlach@linux.intel.com - 2017-03-31 21:10 +0200
Re: [PATCH 02/16] fpga: add FPGA device framework Wu Hao <hao.wu@intel.com> - 2017-04-01 14:30 +0200
Re: [PATCH 02/16] fpga: add FPGA device framework Greg KH <greg@kroah.com> - 2017-03-31 08:20 +0200
Re: [PATCH 02/16] fpga: add FPGA device framework Wu Hao <hao.wu@intel.com> - 2017-03-31 15:40 +0200
Re: [PATCH 02/16] fpga: add FPGA device framework Greg KH <greg@kroah.com> - 2017-03-31 16:20 +0200
Re: [PATCH 02/16] fpga: add FPGA device framework Wu Hao <hao.wu@intel.com> - 2017-04-01 13:50 +0200
[PATCH 03/16] fpga: intel: add FPGA PCIe device driver Wu Hao <hao.wu@intel.com> - 2017-03-30 14:20 +0200
Re: [PATCH 03/16] fpga: intel: add FPGA PCIe device driver Moritz Fischer <mdf@kernel.org> - 2017-04-04 04:20 +0200
RE: [PATCH 03/16] fpga: intel: add FPGA PCIe device driver "Wu, Hao" <hao.wu@intel.com> - 2017-04-05 15:20 +0200
[PATCH 15/16] fpga: intel: afu: add user afu sub feature support Wu Hao <hao.wu@intel.com> - 2017-03-30 14:20 +0200
[PATCH 12/16] fpga: intel: add FPGA Accelerated Function Unit driver basic framework Wu Hao <hao.wu@intel.com> - 2017-03-30 14:20 +0200
[PATCH 09/16] fpga: intel: fme: add header sub feature support Wu Hao <hao.wu@intel.com> - 2017-03-30 14:20 +0200
[PATCH 16/16] fpga: intel: afu: add FPGA_PORT_DMA_MAP/UNMAP ioctls support Wu Hao <hao.wu@intel.com> - 2017-03-30 14:20 +0200
[PATCH 07/16] fpga: intel: add feature device infrastructure Wu Hao <hao.wu@intel.com> - 2017-03-30 14:20 +0200
[PATCH 05/16] fpga: intel: pcie: add chardev support for feature devices Wu Hao <hao.wu@intel.com> - 2017-03-30 14:20 +0200
[PATCH 04/16] fpga: intel: pcie: parse feature list and create platform device for features. Wu Hao <hao.wu@intel.com> - 2017-03-30 14:20 +0200
Re: [PATCH 04/16] fpga: intel: pcie: parse feature list and create platform device for features. Alan Tull <atull@kernel.org> - 2017-04-03 23:50 +0200
Re: [PATCH 04/16] fpga: intel: pcie: parse feature list and create platform device for features. Wu Hao <hao.wu@intel.com> - 2017-04-05 14:10 +0200
Re: [PATCH 04/16] fpga: intel: pcie: parse feature list and create platform device for features. Alan Tull <atull@kernel.org> - 2017-04-05 00:20 +0200
Re: [PATCH 04/16] fpga: intel: pcie: parse feature list and create platform device for features. Wu Hao <hao.wu@intel.com> - 2017-04-05 16:20 +0200
[PATCH 10/16] fpga: intel: fme: add FPGA_GET_API_VERSION/CHECK_EXTENSION ioctls support Wu Hao <hao.wu@intel.com> - 2017-03-30 14:20 +0200
[PATCH 14/16] fpga: intel: afu add FPGA_GET_API_VERSION/CHECK_EXTENSION ioctls support Wu Hao <hao.wu@intel.com> - 2017-03-30 14:20 +0200
[PATCH 01/16] docs: fpga: add a document for Intel FPGA driver overview Wu Hao <hao.wu@intel.com> - 2017-03-30 14:20 +0200
Re: [PATCH 01/16] docs: fpga: add a document for Intel FPGA driver overview matthew.gerlach@linux.intel.com - 2017-03-31 20:30 +0200
Re: [PATCH 01/16] docs: fpga: add a document for Intel FPGA driver overview Alan Tull <atull@kernel.org> - 2017-03-31 20:40 +0200
Re: [PATCH 01/16] docs: fpga: add a document for Intel FPGA driver overview Wu Hao <hao.wu@intel.com> - 2017-04-01 13:30 +0200
Re: [PATCH 01/16] docs: fpga: add a document for Intel FPGA driver overview Moritz Fischer <mdf@kernel.org> - 2017-04-02 16:50 +0200
Re: [PATCH 01/16] docs: fpga: add a document for Intel FPGA driver overview Alan Tull <atull@kernel.org> - 2017-04-03 22:50 +0200
Re: [PATCH 01/16] docs: fpga: add a document for Intel FPGA driver overview Wu Hao <hao.wu@intel.com> - 2017-04-04 07:30 +0200
Re: [PATCH 01/16] docs: fpga: add a document for Intel FPGA driver overview Wu Hao <hao.wu@intel.com> - 2017-04-04 07:20 +0200
[PATCH 06/16] fpga: intel: pcie: adds fpga_for_each_port callback for fme device Wu Hao <hao.wu@intel.com> - 2017-03-30 14:20 +0200
[PATCH 13/16] fpga: intel: afu: add header sub feature support Wu Hao <hao.wu@intel.com> - 2017-03-30 14:20 +0200
[PATCH 11/16] fpga: intel: fme: add partial reconfiguration sub feature support Wu Hao <hao.wu@intel.com> - 2017-03-30 14:20 +0200
Re: [PATCH 11/16] fpga: intel: fme: add partial reconfiguration sub feature support Alan Tull <atull@kernel.org> - 2017-03-30 22:40 +0200
Re: [PATCH 11/16] fpga: intel: fme: add partial reconfiguration sub feature support Xiao Guangrong <xiaoguangrong.eric@gmail.com> - 2017-03-31 06:20 +0200
Re: [PATCH 11/16] fpga: intel: fme: add partial reconfiguration sub feature support Wu Hao <hao.wu@intel.com> - 2017-03-31 11:00 +0200
Re: [PATCH 11/16] fpga: intel: fme: add partial reconfiguration sub feature support Alan Tull <atull@kernel.org> - 2017-04-03 22:30 +0200
Re: [PATCH 11/16] fpga: intel: fme: add partial reconfiguration sub feature support Wu Hao <hao.wu@intel.com> - 2017-04-04 07:40 +0200
Re: [PATCH 11/16] fpga: intel: fme: add partial reconfiguration sub feature support Alan Tull <atull@kernel.org> - 2017-03-31 21:20 +0200
Re: [PATCH 11/16] fpga: intel: fme: add partial reconfiguration sub feature support Wu Hao <hao.wu@intel.com> - 2017-04-01 13:20 +0200
Re: [PATCH 11/16] fpga: intel: fme: add partial reconfiguration sub feature support Alan Tull <atull@kernel.org> - 2017-04-03 18:40 +0200
Re: [PATCH 11/16] fpga: intel: fme: add partial reconfiguration sub feature support Wu Hao <hao.wu@intel.com> - 2017-04-04 08:20 +0200
Re: [PATCH 11/16] fpga: intel: fme: add partial reconfiguration sub feature support Alan Tull <atull@kernel.org> - 2017-04-05 00:40 +0200
RE: [PATCH 11/16] fpga: intel: fme: add partial reconfiguration sub feature support "Wu, Hao" <hao.wu@intel.com> - 2017-04-05 13:50 +0200
Re: [PATCH 11/16] fpga: intel: fme: add partial reconfiguration sub feature support Alan Tull <atull@kernel.org> - 2017-04-05 17:30 +0200
Re: [PATCH 11/16] fpga: intel: fme: add partial reconfiguration sub feature support Alan Tull <atull@kernel.org> - 2017-04-05 17:50 +0200
Re: [PATCH 11/16] fpga: intel: fme: add partial reconfiguration sub feature support Wu Hao <hao.wu@intel.com> - 2017-04-06 13:10 +0200
Re: [PATCH 11/16] fpga: intel: fme: add partial reconfiguration sub feature support Alan Tull <atull@kernel.org> - 2017-04-06 21:30 +0200
Re: [PATCH 11/16] fpga: intel: fme: add partial reconfiguration sub feature support Wu Hao <hao.wu@intel.com> - 2017-04-07 08:10 +0200
Re: [PATCH 11/16] fpga: intel: fme: add partial reconfiguration sub feature support Alan Tull <atull@kernel.org> - 2017-04-03 23:30 +0200
Re: [PATCH 11/16] fpga: intel: fme: add partial reconfiguration sub feature support matthew.gerlach@linux.intel.com - 2017-04-04 00:50 +0200
Re: [PATCH 11/16] fpga: intel: fme: add partial reconfiguration sub feature support Wu Hao <hao.wu@intel.com> - 2017-04-04 09:00 +0200
Re: [PATCH 11/16] fpga: intel: fme: add partial reconfiguration sub feature support Wu Hao <hao.wu@intel.com> - 2017-04-04 08:40 +0200
Re: [PATCH 00/16] Intel FPGA Device Drivers Moritz Fischer <mdf@kernel.org> - 2017-03-30 19:20 +0200
Re: [PATCH 00/16] Intel FPGA Device Drivers Jerome Glisse <jglisse@redhat.com> - 2017-04-06 22:30 +0200
csiph-web