Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751648AbdHVQ7S (ORCPT ); Tue, 22 Aug 2017 12:59:18 -0400 Received: from ale.deltatee.com ([207.54.116.67]:41114 "EHLO ale.deltatee.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751094AbdHVQ7Q (ORCPT ); Tue, 22 Aug 2017 12:59:16 -0400 To: linux-ntb@googlegroups.com, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Jon Mason , Dave Jiang , Allen Hubbe , Bjorn Helgaas , Greg Kroah-Hartman , Kurt Schwemmer , Stephen Bates , Serge Semin References: <20170803181954.4154-1-logang@deltatee.com> From: Logan Gunthorpe Message-ID: <58ab6a33-4de5-8fd8-65c2-079f6f6301c4@deltatee.com> Date: Tue, 22 Aug 2017 10:59:04 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <20170803181954.4154-1-logang@deltatee.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-SA-Exim-Connect-IP: 172.16.1.162 X-SA-Exim-Rcpt-To: fancer.lancer@gmail.com, sbates@raithlin.com, kurt.schwemmer@microsemi.com, gregkh@linuxfoundation.org, bhelgaas@google.com, Allen.Hubbe@emc.com, dave.jiang@intel.com, jdmason@kudzu.us, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-ntb@googlegroups.com X-SA-Exim-Mail-From: logang@deltatee.com Subject: Re: [PATCH v4 00/15] Switchtec NTB Support X-SA-Exim-Version: 4.2.1 (built Tue, 02 Aug 2016 21:08:31 +0000) X-SA-Exim-Scanned: Yes (on ale.deltatee.com) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4748 Lines: 120 Hi, Just wanted to give this a poke as I haven't received any feedback in a couple weeks on v4. What are people's thoughts on this? Is it suitable to make it into the next merge window? Thanks, Logan On 03/08/17 12:19 PM, Logan Gunthorpe wrote: > Changes since v3: > > - Rebased onto the Jon's ntb branch that contains one of the patches > that was in v3 > - Various spelling and commit log mistakes noticed by Bjorn > - Renamed switchtec_ntb to ntb_hw_switchtec per Dave's suggestion > - Fixed a number of code nits pointed out by Jon > > -- > > Changes since v2: > > - Reordered the ntb_test link patch per Allen > - Removed an extra call to switchtec_ntb_init_mw > - Fixed a typo in the switchtec.txt documentation. > > -- > > Changes since v1: > > - Rebased onto latest ntb-next branch (with v4.13-rc1) > - Reworked ntb_mw_count() function so that it can be called all the > time (per discussion with Allen) > - Various spelling and formatting cleanups from Bjorn > - Added request_module() call such that the NTB module is automatically > loaded when appropriate hardware exists. > > -- > > Changes since the rfc: > > - Rebased on ntb-next > - Switched ntb_part_op to use sleep instead of delay > - Dropped a number of useless dbg __func__ prints > - Went back to the dynamic instead of the static class > - Swapped the notifier block for a simple callback > - Modified the new ntb api so that a couple functions with pidx > now must be called after link up. Per our discussion on the list. > > -- > > This patchset implements Non-Transparent Bridge (NTB) support for the > Microsemi Switchtec series of switches. We're looking for some > review from the community at this point but hope to get it upstreamed > for v4.14. > > Switchtec NTB support is configured over the same function and bar > as the management endpoint. Thus, the new driver hooks into the > management driver which we had merged in v4.12. We use the class > interface API to register an NTB device for every switchtec device > which supports NTB (not all do). > > The Switchtec hardware supports doorbells, memory windows and messages. > Seeing there is no native scratchpad support, 128 spads are emulated > through the use of a pre-setup memory window. The switch has 64 > doorbells which are shared between the two partitions and a > configurable set of memory windows. While the hardware supports more > than 2 partitions, this driver only supports the first two seeing > the current NTB API only supports two hosts. > > The driver has been tested with ntb_netdev and fully passes the > ntb_test script. > > This patchset is based off of ntb-next and can be found in this > git repo: > > https://github.com/sbates130272/linux-p2pmem.git switchtec_ntb_v4 > > Logan Gunthorpe (15): > NTB: switchtec: Move structure definitions into a common header > NTB: switchtec: Export class symbol for use in upper layer driver > NTB: switchtec: Add NTB hardware register definitions > NTB: switchtec: Add link event notifier callback > NTB: Ensure ntb_mw_get_align() is only called when the link is up > NTB: Add check and comment for link up to mw_count() and > mw_get_align() > NTB: switchtec_ntb: Introduce initial NTB driver > NTB: switchtec_ntb: Initialize hardware for memory windows > NTB: switchtec_ntb: Initialize hardware for doorbells and messages > NTB: switchtec_ntb: Add skeleton NTB driver > NTB: switchtec_ntb: Add link management > NTB: switchtec_ntb: Implement doorbell registers > NTB: switchtec_ntb: Implement scratchpad registers > NTB: switchtec_ntb: Add memory window support > NTB: switchtec_ntb: Update switchtec documentation with notes for NTB > > Documentation/switchtec.txt | 12 + > MAINTAINERS | 2 + > drivers/ntb/hw/Kconfig | 1 + > drivers/ntb/hw/Makefile | 1 + > drivers/ntb/hw/mscc/Kconfig | 9 + > drivers/ntb/hw/mscc/Makefile | 1 + > drivers/ntb/hw/mscc/ntb_hw_switchtec.c | 1216 ++++++++++++++++++++++++++++++++ > drivers/ntb/ntb_transport.c | 20 +- > drivers/ntb/test/ntb_perf.c | 18 +- > drivers/ntb/test/ntb_tool.c | 6 +- > drivers/pci/switch/switchtec.c | 316 ++------- > include/linux/ntb.h | 11 +- > include/linux/switchtec.h | 373 ++++++++++ > 13 files changed, 1703 insertions(+), 283 deletions(-) > create mode 100644 drivers/ntb/hw/mscc/Kconfig > create mode 100644 drivers/ntb/hw/mscc/Makefile > create mode 100644 drivers/ntb/hw/mscc/ntb_hw_switchtec.c > create mode 100644 include/linux/switchtec.h > > -- > 2.11.0 >