From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.0 required=3.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CF68FC43381 for ; Thu, 14 Feb 2019 21:41:08 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 96BD621B68 for ; Thu, 14 Feb 2019 21:41:08 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=netronome-com.20150623.gappssmtp.com header.i=@netronome-com.20150623.gappssmtp.com header.b="NkY2M15+" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732503AbfBNVlH (ORCPT ); Thu, 14 Feb 2019 16:41:07 -0500 Received: from mail-qt1-f196.google.com ([209.85.160.196]:40675 "EHLO mail-qt1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731377AbfBNVlG (ORCPT ); Thu, 14 Feb 2019 16:41:06 -0500 Received: by mail-qt1-f196.google.com with SMTP id j36so8654247qta.7 for ; Thu, 14 Feb 2019 13:41:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netronome-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=uRAsy0FjjuYRYuAIrKuw4NjIx3jZPqHSqYS7jfUiK/w=; b=NkY2M15+qL6I7pNF/aBDTdVyJjJy7DmFaLnvdKAsSJ0d3GsuPMxW52cLTg52HNMT/q ZAKie0wlawVFo8rvVWl0d3yT5mLW4BTYro8qgiK7NV7sz3mW2fPH6RG5pyip4JEpAS5i 1Hu87SNH32vZiD17cpCHC4KsSWmK+AK2KZpRDSwngIvv0epqkBDL6ByNswHaUDhoqs5T ZDqEZY0DJpm52/Bca4Pay2AxUuRy4uoPTT6KD5gL7vCGx7EamNOH1OC6bTspUaHqvbtK KHazBlPOLqIs+8buKZXeY9qTa4fThSMMQvVnoHz0RfAvALxXzX0g8KubzgnX767ssGLe LKcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=uRAsy0FjjuYRYuAIrKuw4NjIx3jZPqHSqYS7jfUiK/w=; b=HQZ0Q7QtLLOWegfZyXubX2vKmWRFsrGS9qtenVxKJDzSmke66+zo89AbNfLNk7oBu8 u/QwtD7YDe/XCPuZZq7yl4AyDj0ZYH6Fsrq/cE9s93ybRqz7Pv2NKS69QdstYjLWHo+C 8p3TENNpyHAVq5gy+zLM7skddjKDQV41VEia//kGZhX1Mj4xGaAMQ9rDUVin1L4nVOEX RbY+BKuviEzCmB2eERoIG3w4YBz3v5ZZfbGaJwS0BYTNxOY2x2TdYRLWV1Hx1KAkhs87 Bw5WF66L8t9zpZv+NU2HMlcPJXkqb4xJ8JW/yS5adQLDNoAw6fjkaCGbuHyZiG3Fw7UT greg== X-Gm-Message-State: AHQUAuYzvh3cMqcOMKxz/1n3UP6Dzcuio+UoqYBxT/a95S5FzS48nn0M uRA9bSVJRB0cIcz2clEkjiR4Yw== X-Google-Smtp-Source: AHgI3IYiabMxk+m4h4V1+OLiTjslcMU6EnQzDZnWB8JqHMLHic+EmtgQjhRZ7/mPx2iECukG1eR0zQ== X-Received: by 2002:ac8:16ec:: with SMTP id y41mr4964280qtk.333.1550180465694; Thu, 14 Feb 2019 13:41:05 -0800 (PST) Received: from jkicinski-Precision-T1700.netronome.com ([66.60.152.14]) by smtp.gmail.com with ESMTPSA id g25sm1587307qki.29.2019.02.14.13.41.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Feb 2019 13:41:05 -0800 (PST) From: Jakub Kicinski To: davem@davemloft.net, jiri@resnulli.us Cc: netdev@vger.kernel.org, oss-drivers@netronome.com, mkubecek@suse.cz, andrew@lunn.ch, Jakub Kicinski Subject: [PATCH net-next 0/3] devlink: add the ability to update device flash Date: Thu, 14 Feb 2019 13:40:43 -0800 Message-Id: <20190214214046.19182-1-jakub.kicinski@netronome.com> X-Mailer: git-send-email 2.19.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Hi! This series is the second step to allow trouble shooting and recovering devices in bad state without the use of netdevs as handles. We can already query FW versions over devlink, now we add the ability to update the FW. This will allow drivers to implement some from of "limp-mode" where the device can't really be used for networking and hence has no netdev, but we can interrogate it over devlink and fix the broken FW. Small but nice advantage of devlink is that it only holds the devlink instance lock during flashing, unlike ethtool which holds rtnl_lock(). Jakub Kicinski (3): devlink: add flash update command ethtool: add compat for flash update nfp: devlink: allow flashing the device via devlink .../net/ethernet/netronome/nfp/nfp_devlink.c | 10 ++++ drivers/net/ethernet/netronome/nfp/nfp_main.c | 41 +++++++++++++ drivers/net/ethernet/netronome/nfp/nfp_main.h | 2 + .../ethernet/netronome/nfp/nfp_net_ethtool.c | 35 +---------- include/net/devlink.h | 10 ++++ include/uapi/linux/devlink.h | 6 ++ net/core/devlink.c | 60 +++++++++++++++++++ net/core/ethtool.c | 12 +++- 8 files changed, 141 insertions(+), 35 deletions(-) -- 2.19.2