From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753577AbbANTBo (ORCPT ); Wed, 14 Jan 2015 14:01:44 -0500 Received: from mail-wg0-f43.google.com ([74.125.82.43]:52806 "EHLO mail-wg0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751717AbbANTBm convert rfc822-to-8bit (ORCPT ); Wed, 14 Jan 2015 14:01:42 -0500 Subject: Re: [PATCH v8 2/4] fpga manager: add sysfs interface document Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\)) Content-Type: text/plain; charset=utf-8 From: Pantelis Antoniou In-Reply-To: <20150114181258.GB16392@obsidianresearch.com> Date: Wed, 14 Jan 2015 21:01:33 +0200 Cc: One Thousand Gnomes , atull , Pavel Machek , Greg Kroah-Hartman , hpa@zytor.com, Michal Simek , Michal Simek , rdunlap@infradead.org, Linux Kernel Mailing List , devicetree@vger.kernel.org, robh+dt@kernel.org, Grant Likely , iws@ovro.caltech.edu, linux-doc@vger.kernel.org, Mark Brown , philip@balister.org, rubini@gnudd.com, Steffen Trumtrar , jason@lakedaemon.net, kyle.teske@ni.com, nico@linaro.org, Felipe Balbi , m.chehab@samsung.com, davidb@codeaurora.org, Rob Landley , davem@davemloft.net, cesarb@cesarb.net, sameo@linux.intel.com, akpm@linux-foundation.org, Linus Walleij , pawel.moll@arm.com, mark.rutland@arm.com, ijc+devicetree@hellion.org.uk, galak@codeaurora.org, devel@driverdev.osuosl.org, Alan Tull , dinguyen@opensource.altera.com, yvanderv@opensource.altera.com Content-Transfer-Encoding: 8BIT Message-Id: <9BA687C8-8C37-48DA-9A76-E82AF2339FF7@konsulko.com> References: <20150107084819.GA1887@amd> <20150109205643.GA5761@amd> <20150112210134.687176ed@lxorguk.ukuu.org.uk> <20150112214314.GA18610@obsidianresearch.com> <20150113162847.2778b5a5@lxorguk.ukuu.org.uk> <20150113200032.GA16205@obsidianresearch.com> <20150113222450.GA17475@obsidianresearch.com> <20150114160617.02fb9135@lxorguk.ukuu.org.uk> <20150114181258.GB16392@obsidianresearch.com> To: Jason Gunthorpe X-Mailer: Apple Mail (2.1993) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Jason, > On Jan 14, 2015, at 20:12 , Jason Gunthorpe wrote: > > On Wed, Jan 14, 2015 at 04:06:17PM +0000, One Thousand Gnomes wrote: > >> and I think you effectively have the user usage covered here for such >> things. It much like GPIO pins - we can describe them but we can also >> declare they are not visible to the user. > > A missing element in mainline is a kind of VFIO scheme to let user > space access the FPGA registers designated for user space use. > > We have been using these patches since 2.6.16 to allow user space to > access the FPGA register resources via a PCI like /sys/../resource0 > mmapable: > > https://github.com/jgunthorpe/linux/commit/59d5d13ddeffa8980ccc6248ebb5f1678ccb23f4 > https://github.com/jgunthorpe/linux/commit/7c29c4344627be8a3906d64d32db533bc131df86 > https://github.com/jgunthorpe/linux/commit/e41bb4a197368a9d505d66b627aee82f2d2b8895 > > We deliberately split up the FPGA registers and the assign user space > permissions to the resource0 files in a way that makes sense for our > app. Typically there are 10-20 FPGA register regions. User space does > not access register regions that control DMA. > Interesting. >> The swappable case mostly comes out of the /dev node. Once you have the >> dev node it becomes a detail of the OS not the FPGA driver as to who may >> open it, and how it is handed about. It might be an FPU manager daemon it >> might not. > > Right, but the thing that scares me about the swappable case is the > kernel side support.. The FPGA has to connect to the CPU in some way, > it must have some address assigned, etc. Swapping needs to take care > of all those details in some way. > > A fixed bus interface block and dynamic reconfiguration for the > remainder is probably the way to manage that. But, that implies that > even a family of swappable FPGAs will have a DT overlay associated > with it. > > Ideally, I could see wanting to have a file format that combines the > overlay and FPGA bitfile. A loader tool would use the /dev/ interface > to setup both elements. That would be much more robust than the > current scheme I see (eg Xilinx) using where the bitfile and DT bit > live in completely different places and have to be perfectly matched. > A single DT property can be 4 gigs of binary data (cheating a bit, the whole blob can be 4 gigs). You can conceivably include the whole bitfile in the DT blob. Whether this is a perversion or not it’s left to the reader. The bitfile does describe the hardware though. > Jason Regards — Pantelis From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pantelis Antoniou Subject: Re: [PATCH v8 2/4] fpga manager: add sysfs interface document Date: Wed, 14 Jan 2015 21:01:33 +0200 Message-ID: <9BA687C8-8C37-48DA-9A76-E82AF2339FF7@konsulko.com> References: <20150107084819.GA1887@amd> <20150109205643.GA5761@amd> <20150112210134.687176ed@lxorguk.ukuu.org.uk> <20150112214314.GA18610@obsidianresearch.com> <20150113162847.2778b5a5@lxorguk.ukuu.org.uk> <20150113200032.GA16205@obsidianresearch.com> <20150113222450.GA17475@obsidianresearch.com> <20150114160617.02fb9135@lxorguk.ukuu.org.uk> <20150114181258.GB16392@obsidianresearch.com> Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\)) Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20150114181258.GB16392@obsidianresearch.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: "devel" To: Jason Gunthorpe Cc: mark.rutland@arm.com, One Thousand Gnomes , linux-doc@vger.kernel.org, rubini@gnudd.com, hpa@zytor.com, Steffen Trumtrar , devel@driverdev.osuosl.org, sameo@linux.intel.com, nico@linaro.org, ijc+devicetree@hellion.org.uk, Michal Simek , kyle.teske@ni.com, Grant Likely , davidb@codeaurora.org, Linus Walleij , cesarb@cesarb.net, devicetree@vger.kernel.org, jason@lakedaemon.net, pawel.moll@arm.com, iws@ovro.caltech.edu, atull , galak@codeaurora.org, Mark Brown , philip@balister.org, dinguyen@opensource.altera.com, Michal Simek , Pavel Machek , yvanderv@opensource.altera.com, Linux Kernel Mailing List , Felipe Balbi , Alan List-Id: devicetree@vger.kernel.org SGkgSmFzb24sCgo+IE9uIEphbiAxNCwgMjAxNSwgYXQgMjA6MTIgLCBKYXNvbiBHdW50aG9ycGUg PGpndW50aG9ycGVAb2JzaWRpYW5yZXNlYXJjaC5jb20+IHdyb3RlOgo+IAo+IE9uIFdlZCwgSmFu IDE0LCAyMDE1IGF0IDA0OjA2OjE3UE0gKzAwMDAsIE9uZSBUaG91c2FuZCBHbm9tZXMgd3JvdGU6 Cj4gCj4+IGFuZCBJIHRoaW5rIHlvdSBlZmZlY3RpdmVseSBoYXZlIHRoZSB1c2VyIHVzYWdlIGNv dmVyZWQgaGVyZSBmb3Igc3VjaAo+PiB0aGluZ3MuIEl0IG11Y2ggbGlrZSBHUElPIHBpbnMgLSB3 ZSBjYW4gZGVzY3JpYmUgdGhlbSBidXQgd2UgY2FuIGFsc28KPj4gZGVjbGFyZSB0aGV5IGFyZSBu b3QgdmlzaWJsZSB0byB0aGUgdXNlci4KPiAKPiBBIG1pc3NpbmcgZWxlbWVudCBpbiBtYWlubGlu ZSBpcyBhIGtpbmQgb2YgVkZJTyBzY2hlbWUgdG8gbGV0IHVzZXIKPiBzcGFjZSBhY2Nlc3MgdGhl IEZQR0EgcmVnaXN0ZXJzIGRlc2lnbmF0ZWQgZm9yIHVzZXIgc3BhY2UgdXNlLgo+IAo+IFdlIGhh dmUgYmVlbiB1c2luZyB0aGVzZSBwYXRjaGVzIHNpbmNlIDIuNi4xNiB0byBhbGxvdyB1c2VyIHNw YWNlIHRvCj4gYWNjZXNzIHRoZSBGUEdBIHJlZ2lzdGVyIHJlc291cmNlcyB2aWEgYSBQQ0kgbGlr ZSAvc3lzLy4uL3Jlc291cmNlMAo+IG1tYXBhYmxlOgo+IAo+ICAgIGh0dHBzOi8vZ2l0aHViLmNv bS9qZ3VudGhvcnBlL2xpbnV4L2NvbW1pdC81OWQ1ZDEzZGRlZmZhODk4MGNjYzYyNDhlYmI1ZjE2 NzhjY2IyM2Y0Cj4gICAgaHR0cHM6Ly9naXRodWIuY29tL2pndW50aG9ycGUvbGludXgvY29tbWl0 LzdjMjljNDM0NDYyN2JlOGEzOTA2ZDY0ZDMyZGI1MzNiYzEzMWRmODYKPiAgICBodHRwczovL2dp dGh1Yi5jb20vamd1bnRob3JwZS9saW51eC9jb21taXQvZTQxYmI0YTE5NzM2OGE5ZDUwNWQ2NmI2 MjdhZWU4MmYyZDJiODg5NQo+IAo+IFdlIGRlbGliZXJhdGVseSBzcGxpdCB1cCB0aGUgRlBHQSBy ZWdpc3RlcnMgYW5kIHRoZSBhc3NpZ24gdXNlciBzcGFjZQo+IHBlcm1pc3Npb25zIHRvIHRoZSBy ZXNvdXJjZTAgZmlsZXMgaW4gYSB3YXkgdGhhdCBtYWtlcyBzZW5zZSBmb3Igb3VyCj4gYXBwLiBU eXBpY2FsbHkgdGhlcmUgYXJlIDEwLTIwIEZQR0EgcmVnaXN0ZXIgcmVnaW9ucy4gVXNlciBzcGFj ZSBkb2VzCj4gbm90IGFjY2VzcyByZWdpc3RlciByZWdpb25zIHRoYXQgY29udHJvbCBETUEuCj4g CgpJbnRlcmVzdGluZy4KCj4+IFRoZSBzd2FwcGFibGUgY2FzZSBtb3N0bHkgY29tZXMgb3V0IG9m IHRoZSAvZGV2IG5vZGUuIE9uY2UgeW91IGhhdmUgdGhlCj4+IGRldiBub2RlIGl0IGJlY29tZXMg YSBkZXRhaWwgb2YgdGhlIE9TIG5vdCB0aGUgRlBHQSBkcml2ZXIgYXMgdG8gd2hvIG1heQo+PiBv cGVuIGl0LCBhbmQgaG93IGl0IGlzIGhhbmRlZCBhYm91dC4gSXQgbWlnaHQgYmUgYW4gRlBVIG1h bmFnZXIgZGFlbW9uIGl0Cj4+IG1pZ2h0IG5vdC4KPiAKPiBSaWdodCwgYnV0IHRoZSB0aGluZyB0 aGF0IHNjYXJlcyBtZSBhYm91dCB0aGUgc3dhcHBhYmxlIGNhc2UgaXMgdGhlCj4ga2VybmVsIHNp ZGUgc3VwcG9ydC4uIFRoZSBGUEdBIGhhcyB0byBjb25uZWN0IHRvIHRoZSBDUFUgaW4gc29tZSB3 YXksCj4gaXQgbXVzdCBoYXZlIHNvbWUgYWRkcmVzcyBhc3NpZ25lZCwgZXRjLiBTd2FwcGluZyBu ZWVkcyB0byB0YWtlIGNhcmUKPiBvZiBhbGwgdGhvc2UgZGV0YWlscyBpbiBzb21lIHdheS4KPiAK PiBBIGZpeGVkIGJ1cyBpbnRlcmZhY2UgYmxvY2sgYW5kIGR5bmFtaWMgcmVjb25maWd1cmF0aW9u IGZvciB0aGUKPiByZW1haW5kZXIgaXMgcHJvYmFibHkgdGhlIHdheSB0byBtYW5hZ2UgdGhhdC4g QnV0LCB0aGF0IGltcGxpZXMgdGhhdAo+IGV2ZW4gYSBmYW1pbHkgb2Ygc3dhcHBhYmxlIEZQR0Fz IHdpbGwgaGF2ZSBhIERUIG92ZXJsYXkgYXNzb2NpYXRlZAo+IHdpdGggaXQuCj4gCj4gSWRlYWxs eSwgSSBjb3VsZCBzZWUgd2FudGluZyB0byBoYXZlIGEgZmlsZSBmb3JtYXQgdGhhdCBjb21iaW5l cyB0aGUKPiBvdmVybGF5IGFuZCBGUEdBIGJpdGZpbGUuIEEgbG9hZGVyIHRvb2wgd291bGQgdXNl IHRoZSAvZGV2LyBpbnRlcmZhY2UKPiB0byBzZXR1cCBib3RoIGVsZW1lbnRzLiBUaGF0IHdvdWxk IGJlIG11Y2ggbW9yZSByb2J1c3QgdGhhbiB0aGUKPiBjdXJyZW50IHNjaGVtZSBJIHNlZSAoZWcg WGlsaW54KSB1c2luZyB3aGVyZSB0aGUgYml0ZmlsZSBhbmQgRFQgYml0Cj4gbGl2ZSBpbiBjb21w bGV0ZWx5IGRpZmZlcmVudCBwbGFjZXMgYW5kIGhhdmUgdG8gYmUgcGVyZmVjdGx5IG1hdGNoZWQu Cj4gCgpBIHNpbmdsZSBEVCBwcm9wZXJ0eSBjYW4gYmUgNCBnaWdzIG9mIGJpbmFyeSBkYXRhIChj aGVhdGluZyBhIGJpdCwgdGhlIHdob2xlIGJsb2IgY2FuIGJlCjQgZ2lncykuIFlvdSBjYW4gY29u Y2VpdmFibHkgaW5jbHVkZSB0aGUgd2hvbGUgYml0ZmlsZSBpbiB0aGUgRFQgYmxvYi4KCldoZXRo ZXIgdGhpcyBpcyBhIHBlcnZlcnNpb24gb3Igbm90IGl04oCZcyBsZWZ0IHRvIHRoZSByZWFkZXIu IFRoZSBiaXRmaWxlIGRvZXMKZGVzY3JpYmUgdGhlIGhhcmR3YXJlIHRob3VnaC4KCj4gSmFzb24K ClJlZ2FyZHMKCuKAlCBQYW50ZWxpcwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZGV2ZWwgbWFpbGluZyBsaXN0CmRldmVsQGxpbnV4ZHJpdmVycHJvamVj dC5vcmcKaHR0cDovL2RyaXZlcmRldi5saW51eGRyaXZlcnByb2plY3Qub3JnL21haWxtYW4vbGlz dGluZm8vZHJpdmVyZGV2LWRldmVsCg==