Received: by 2002:a25:31c3:0:0:0:0:0 with SMTP id x186csp6718646ybx; Mon, 11 Nov 2019 13:34:29 -0800 (PST) X-Google-Smtp-Source: APXvYqyydfvqkXlUr5dpnsFjcU2tXPRjJJwVLB42Pa46tgE42u9ulHshUOkNM65GNV+wvgXutRpf X-Received: by 2002:a05:6402:110c:: with SMTP id u12mr29136691edv.127.1573508069322; Mon, 11 Nov 2019 13:34:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1573508069; cv=none; d=google.com; s=arc-20160816; b=Y7fOUqvqSPusxPi8XcDbIMbS2WqTlAftKiEPHz7ADa/sQZkM0Moi+M54qzlNc7eUc/ ZCzyuD8KU2fF4+m6RawdcxH+V4Nyn++rDFSCn0jxj4YLn/pvunt0sg/vxfJLzRQvrBsS 7//Vn4/B+3RIH2JXNxbodCJ+oOrlwxxBQ3kP2u+20HCXv8MVz1AsxnQf61/NtzVa+/yr 7YXqvdFj6ZH9l+7uVCdderCwDVxlxXsy/2zsI4kljIuCLDmva70NiIqbpEY1TClip/v2 Dpt/ei4oP+OO4ePx3XDq6NjYFEgKs97bQITXnzYyxU12gS6YQX4mXjCBsb5bOVdhWFDS ApMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=EkuJdAUqLhO37Xog7hFtb+aT8vazqfXgcjtA7SyhWEM=; b=odQhzocQgt6M/Wvke4OtLz/hTIAxWXK1lrzksNR1Wl2srD/crhxLvvgwXeYJ9IA022 skuBWOFCxgyDzrkgGZdYDyUiMkeZqmeFXQK1WMjBxLCXtOfuHYON/k33GOBWdEozijeS SgtVpfwaYgOazGHQJWldIqGUk3rCwkBlZvvEhq6+82t730KoVLDOeaWo8J1Uc3GUqYvI vNXdD+R6i7IElCDIDWHHv8DDX2sUciY0FSfuWBZDKlTA9va7Tt5x6Rd6to8pu+8sDMzG FydCbVnWqZf4FnMB0HL9ond/lL9Q+uMiQ5ZIQqUQvUAHjN2MeR/vortwb3Vby6u/O1u9 W8JA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sifive.com header.s=google header.b=k4eOYsri; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f8si11942211edf.428.2019.11.11.13.34.05; Mon, 11 Nov 2019 13:34:29 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@sifive.com header.s=google header.b=k4eOYsri; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727040AbfKKVdd (ORCPT + 99 others); Mon, 11 Nov 2019 16:33:33 -0500 Received: from mail-lj1-f194.google.com ([209.85.208.194]:40425 "EHLO mail-lj1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726910AbfKKVdd (ORCPT ); Mon, 11 Nov 2019 16:33:33 -0500 Received: by mail-lj1-f194.google.com with SMTP id q2so15414861ljg.7 for ; Mon, 11 Nov 2019 13:33:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=EkuJdAUqLhO37Xog7hFtb+aT8vazqfXgcjtA7SyhWEM=; b=k4eOYsri0w6XOlZCdf7P084yo6O7L1TJstF6Pu+hSlk7vW3lwXpd2MzO0Ilq2GKM9G 875XCJMh8bIDrXJyWLgAyisOk8QUDFGc+8VNRGP2WbGsPZ1JMy4JohvrVaFO02oAn+cG GT84K4jMd2C/Toq2BlvzMC3eGYdlzGljIb8UTxWPVbTtMANq/Re6Rd43fxVq5JnuhBX4 1GKpNuxprveZ+p5cNgvazNJl9pJawzxbeMl5ugX7ZTx+ZI7h5/1jJHNumbzTKcln1oGV 0dzztyfuHQHOlrRrPQqvUBcZw3rljLp4z4V2sHehPmt670i8GGWzYnYjVVmwqbF9k7MN nnUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=EkuJdAUqLhO37Xog7hFtb+aT8vazqfXgcjtA7SyhWEM=; b=Ae/frqJnfFRS8/ggKIUkCwFSZraps/C+dkukIAPk8Md16RtagXBdv5TjQq1F1Fh70l yKQWi1AhKFgEjOlEUiBGa7B+py+2BevBxulM/Um7XmURNCZEWoj/Of9IhWYCjI5wxKYh B5pHsJ8ymHMNRMW6s3+8k/9JAAkDpMYVofQMtNZQHoMGQSl+56frZEDC6bkAa+C1YxFK Zan10s3aDhgBomA/K9UO8c1kR1nhiAGPMoMxQxNrtbOYwWKo5xE450kP8ZRuACDyfVYh LmGzeJbB3uaXcnD3SCijYXYvj9Fp9PuKseSfzHNErvvfY/YQBcyp5QbteNUgNgfDX7xb dw/A== X-Gm-Message-State: APjAAAVCKsAVsCe/o9Rv3M/ki7TLnIzE8rJLKkTiEpGWjIyxEfUxqEIt MWH7W+zr8xzFeGRGImzTJZAa1AtEPfehW8Z/N4+Uqg== X-Received: by 2002:a05:651c:20a:: with SMTP id y10mr17533980ljn.76.1573508011119; Mon, 11 Nov 2019 13:33:31 -0800 (PST) MIME-Version: 1.0 References: <1573493889-22336-1-git-send-email-alan.mikhak@sifive.com> <20191111203743.GA25876@lst.de> <20191111211503.GA26588@lst.de> In-Reply-To: <20191111211503.GA26588@lst.de> From: Alan Mikhak Date: Mon, 11 Nov 2019 13:33:20 -0800 Message-ID: Subject: Re: [PATCH RFC] PCI: endpoint: Add NVMe endpoint function driver To: Christoph Hellwig Cc: linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, linux-nvme@lists.infradead.org, Kishon Vijay Abraham I , lorenzo.pieralisi@arm.com, Bjorn Helgaas , Palmer Dabbelt , Paul Walmsley Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Nov 11, 2019 at 1:15 PM Christoph Hellwig wrote: > > On Mon, Nov 11, 2019 at 01:09:17PM -0800, Alan Mikhak wrote: > > Thanks Christoph. Let me repeat what I think your comment is saying to me. > > You prefer all parsing for nvme command received from host over PCIe > > to be removed from nvme function driver and added to existing fabrics > > command parsing in nvme target code with new flags introduced to > > indicate fabrics vs. PCIe. > > At least for all the common commands, yes. For Create / Delete SQ/CQ > I am not entirely sure how to best implement them yet as there are > valid arguments for keeping it entirely in the PCIe frontend or for > having them in common code, and we'll need to figure out which weight > more heavily. I will look into moving all common commands to nvme target code. It might take a bit of time and review for me to figure it out. In the meantime, please look at the rest of the code even though its structure may not be desirable for upstream acceptance. These are the type of comments that I seek. > > > Any more thoughts? > > I'd love to eventually find time to play with this code. Do you run > it on unrelease SiFive hard cores, or is there a bitstream for a common > FPGA platform available?- I run it on an internal platform meant for verifying our PCIe endpoint hardware. I use that platform to develop new functionality to enable, simplify, and promote the integration of our PCIe endpoints into larger systems. As far as I know, there is no public bitstream available since the platform is for internal use.