Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756992AbaLINMW (ORCPT ); Tue, 9 Dec 2014 08:12:22 -0500 Received: from mail-ig0-f169.google.com ([209.85.213.169]:40232 "EHLO mail-ig0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756810AbaLINMU (ORCPT ); Tue, 9 Dec 2014 08:12:20 -0500 MIME-Version: 1.0 In-Reply-To: <20141208225519.64501d2d@lxorguk.ukuu.org.uk> References: <1414007405-32186-1-git-send-email-atull@opensource.altera.com> <1414007405-32186-3-git-send-email-atull@opensource.altera.com> <20141024105200.GA20775@amd> <20141208225519.64501d2d@lxorguk.ukuu.org.uk> From: Grant Likely Date: Tue, 9 Dec 2014 13:11:59 +0000 X-Google-Sender-Auth: a31sx4HER9Ci3Dnj8rPqvpg0PgM Message-ID: Subject: Re: [PATCH v2 2/3] fpga manager: framework core To: One Thousand Gnomes Cc: Pavel Machek , atull , Greg Kroah-Hartman , Jason Gunthorpe , "H. Peter Anvin" , Michal Simek , Michal Simek , Randy Dunlap , Linux Kernel Mailing List , "devicetree@vger.kernel.org" , Pantelis Antoniou , Rob Herring , Ira Snyder , "linux-doc@vger.kernel.org" , Mark Brown , Philip Balister , rubini , Steffen Trumtrar , Jason , kyle.teske@ni.com, Nicolas Pitre , "Balbi, Felipe" , Mauro Carvalho Chehab , David Brown , Rob Landley , David Miller , cesarb@cesarb.net, "sameo@linux.intel.com" , Andrew Morton , Linus Walleij , Alan Tull , dinguyen@opensource.altera.com, Yves Vandervennet Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Dec 8, 2014 at 10:55 PM, One Thousand Gnomes wrote: > On Sat, 6 Dec 2014 13:00:17 +0000 > Grant Likely wrote: > >> On Fri, Oct 24, 2014 at 11:52 AM, Pavel Machek wrote: >> > Hi! >> > >> >> * /sys/class/fpga_manager//firmware >> >> Name of FPGA image file to load using firmware class. >> >> $ echo image.rbf > /sys/class/fpga_manager//firmware >> > >> > I .. still don't think this is good idea. What about namespaces? >> > The path corresponds to path in which namespace? >> >> I don't understand your concern here. This allows userspace to name >> the FPGA bitstream that the kernel will use during request_firmware(), >> and it will show up as the $FIRMWARE value in the uevent file, but it >> is still the responsibility of userspace to choose what to load, and >> it can freely ignore the setting of $FIRMWARE if it needs to. > > I think the entire model here is basically pedicated on a bogus > assumption that an FPGA is a one shot device. It's not. It's a fast > reloadable reusable device. A lot of work being done with FPGAs in > operating systems already involves basically task switching and > scheduling FPGAs as a shared resource pool. Trying to nail something > together with request_firmware is several years behind the curve. > > From userspace it needs to be a open, load, use, close type model, not a > static or semi-static pile of mappings. If FPGA is a general purpose resource hanging off the side that applications can use, then sure, but the majority of FPGA usage does not fall into that scenario*. The majority of FPGA usage that I've seen has core parts of the system implemented in the FPGA fabric. Video pipelines, network switching, dma to/from main memory, control of dedicated hardware. It's more than merely an application being able to use the FPGA as an accelerator. I'm certainly not dismissing the concept of FPGA scheduling and being able to 'task switch' between bitstreams. Yes that is important, but for most users it really does look like, as you say, "a static or semi-static pile of mappings". * Altera and Xilinx people - correct me if you disagree. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/