From patchwork Tue Oct 23 21:51:55 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sam Mendoza-Jonas X-Patchwork-Id: 988374 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=mendozajonas.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=mendozajonas.com header.i=@mendozajonas.com header.b="lzp14NQ/"; dkim=pass (2048-bit key; unprotected) header.d=messagingengine.com header.i=@messagingengine.com header.b="R+MSuVgn"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 42fnFR310Dz9sC7 for ; Wed, 24 Oct 2018 08:53:15 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728889AbeJXGRl (ORCPT ); Wed, 24 Oct 2018 02:17:41 -0400 Received: from out3-smtp.messagingengine.com ([66.111.4.27]:41325 "EHLO out3-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725985AbeJXGRl (ORCPT ); Wed, 24 Oct 2018 02:17:41 -0400 Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id 6B81921D19; Tue, 23 Oct 2018 17:52:25 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Tue, 23 Oct 2018 17:52:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= mendozajonas.com; h=from:to:cc:subject:date:message-id :mime-version:content-transfer-encoding; s=fm1; bh=P5EpFRJSM5stO UdO6srmDnCXnVhw6GpIO0051el5Efc=; b=lzp14NQ/OwwCOvgr9G8pJVYGUdwTY XL2j0pzaaEnVCp7OPZoeBP2KaBeT8EA7NTvuZGhnsNesRHTESm6Nsmz7Gh7W6TQB HpveoUqmnwtqltZm8MK9l+dS5fQMxth3HeFusiL3EA661RVAPQXEDcuDNEkXQBHB CgLdf1pRkM6NPG0d1b4rH2TbdtF18OFCEkzOPm0oJX5wMDmtgMPVlzFxjllWOTEY VGqTE3K0t05hyQp7/jNuuUMiOPCxPby7VhrsbNofv3gAoi89zNESNCIFtwd5K+fc b4fxDADUa7oMWSNCM3NdDT8WNKN6A3k9DabOXtJMwRhhDCPVGVrEs45Kg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :message-id:mime-version:subject:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=P5EpFRJSM5stOUdO6 srmDnCXnVhw6GpIO0051el5Efc=; b=R+MSuVgnKT3j1BYA51a6AQdlENtj3GszT zl+1dDHKWXr/PRbHjxYSO3wF2/LmPQU4/JU70of0K86UTq69NH1RTWTuI1OFqLqv BelyNY7MW6A8214W1vtTjheUNQohrJEuipoI+2nXXQEaPAPx/nAxBkoG0pRLe1vd hHEIxAXFYZhh9ajxDYVpWwoX93l0Rks2Q50zfcy710NcDNN/N/2uzrPmZPs/KMxN 0cCJa5Ci4Fo45LxUKNOEbsu7G/iSpD91vvwXiJxRfVHM2+nK54IOIaUqlCrz3AgV n68EY7dVtH6qZBWh5KqWgAh+7lakXVrlKDQQw2iGwaFvcmmSIeH+w== X-ME-Sender: X-ME-Proxy: Received: from v4.ibm.com (unknown [158.140.225.28]) by mail.messagingengine.com (Postfix) with ESMTPA id 60710102ED; Tue, 23 Oct 2018 17:52:21 -0400 (EDT) From: Samuel Mendoza-Jonas To: netdev@vger.kernel.org Cc: Samuel Mendoza-Jonas , "David S . Miller" , Justin.Lee1@Dell.com, linux-kernel@vger.kernel.org, openbmc@lists.ozlabs.org Subject: [PATCH net-next v2 0/6] net/ncsi: Allow enabling multiple packages & channels Date: Wed, 24 Oct 2018 10:51:55 +1300 Message-Id: <20181023215201.27315-1-sam@mendozajonas.com> X-Mailer: git-send-email 2.19.1 MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This series extends the NCSI driver to configure multiple packages and/or channels simultaneously. Since the RFC series this includes a few extra changes to fix areas in the driver that either made this harder or were roadblocks due to deviations from the NCSI specification. Patches 1 & 2 fix two issues where the driver made assumptions about the capabilities of the NCSI topology. Patches 3 & 4 change some internal semantics slightly to make multi-mode easier. Patch 5 introduces a cleaner way of reconfiguring the NCSI configuration and keeping track of channel states. Patch 6 implements the main multi-package/multi-channel configuration, configured via the Netlink interface. Readers who have an interesting NCSI setup - especially multi-package with HWA - please test! I think I've covered all permutations but I don't have infinite hardware to test on. Changes in v2: - Updated use of the channel lock in ncsi_reset_dev(), making the channel invisible and leaving the monitor check to ncsi_stop_channel_monitor(). - Fixed ncsi_channel_is_tx() to consider the state of channels in other packages. Samuel Mendoza-Jonas (6): net/ncsi: Don't enable all channels when HWA available net/ncsi: Probe single packages to avoid conflict net/ncsi: Don't deselect package in suspend if active net/ncsi: Don't mark configured channels inactive net/ncsi: Reset channel state in ncsi_start_dev() net/ncsi: Configure multi-package, multi-channel modes with failover include/uapi/linux/ncsi.h | 15 ++ net/ncsi/internal.h | 19 +- net/ncsi/ncsi-aen.c | 63 ++++-- net/ncsi/ncsi-manage.c | 453 +++++++++++++++++++++++++------------- net/ncsi/ncsi-netlink.c | 229 ++++++++++++++++--- net/ncsi/ncsi-rsp.c | 2 +- 6 files changed, 578 insertions(+), 203 deletions(-)