From patchwork Thu Mar 13 15:03:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jedrzej Jagielski X-Patchwork-Id: 14015256 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7A43B268C7E for ; Thu, 13 Mar 2025 15:17:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.16 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741879080; cv=none; b=hgPXSPk5Wm4trHBueqKpJcKCVZLCGTl221qsmsf2Ka/7cTNkHgF6yBbC4NGDSLIGq6zFBOFjc/rgGCyDzBl7MqMn0kRjBi628KP3LrLmi45ERkvNWQNbEWrlY8Gk+QBurH15jyIGtTLnV56N9gFGytf+H6znnXSYkqYS8xozO5k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741879080; c=relaxed/simple; bh=8/DxNvFlXzyjpuNb4m16Wt+uaP0Oe2nNmEomfefFGCI=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=YrQXe217+O59aO2zPH3+IKO2A/OiRAax/MbZOBcWxrNhMX3j+cnP6r9vIfMV5R9hrqfRJ6Eo2e4gA8kCpL5n4y1onRPjM8ESoHOutUA0CZj9PYAcfn0YMhh61Z4y6y12u7hre2ebceXxiXfKCSiAVjJQSp6llMs+ENBsFuM2o4A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=lT/YuRWf; arc=none smtp.client-ip=198.175.65.16 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="lT/YuRWf" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1741879078; x=1773415078; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=8/DxNvFlXzyjpuNb4m16Wt+uaP0Oe2nNmEomfefFGCI=; b=lT/YuRWf+IE6OK71IbLeg1VEgCsDiZ66gC+f+3ESndzM2dsA9c9oMGVL dlVbaP4Pk09Jalb9muSAkMldKiWp0HeP9+8qSJr4/RnNoUDaHNB98sudN 2/lgD3YY/MNXvtTdR3Pmo+KEcHJ5DG/Z47EG1jVJ0l65A5676s0HIa6M4 bxR4/9I+PhdU/YcwUf+SOxtfFcAPpYBQmv3Q1SkQ7/Xak+ZhDMi4iX3aT 5kMj6lW/n10p6oBjeHD8BM5ykEgsiBujUdIihc8sD1N5qumxpKIxlcFQc 5wyDh9rZ1fi9EZhZvjon2xWq+5Xiqa+BxLt/3VBw0Tbwy/pzR89W3jO+j Q==; X-CSE-ConnectionGUID: fh7TKbeTT4abuU2eecB1Fw== X-CSE-MsgGUID: tqpb/Mf0Td+S40f7bmWwDw== X-IronPort-AV: E=McAfee;i="6700,10204,11372"; a="43104796" X-IronPort-AV: E=Sophos;i="6.14,245,1736841600"; d="scan'208";a="43104796" Received: from orviesa008.jf.intel.com ([10.64.159.148]) by orvoesa108.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Mar 2025 08:17:58 -0700 X-CSE-ConnectionGUID: u8JBHVxQSneW2rAKVWay0g== X-CSE-MsgGUID: 7eMgYqNTSgqZCPYJQ3n3dA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.14,245,1736841600"; d="scan'208";a="121917824" Received: from os-delivery.igk.intel.com ([10.102.18.218]) by orviesa008.jf.intel.com with ESMTP; 13 Mar 2025 08:17:56 -0700 From: Jedrzej Jagielski To: intel-wired-lan@lists.osuosl.org Cc: anthony.l.nguyen@intel.com, netdev@vger.kernel.org, przemyslaw.kitszel@intel.com, horms@kernel.org, Jedrzej Jagielski Subject: [PATCH iwl-next v8 00/15] ixgbe: Add basic devlink support Date: Thu, 13 Mar 2025 16:03:31 +0100 Message-Id: <20250313150346.356612-1-jedrzej.jagielski@intel.com> X-Mailer: git-send-email 2.31.1 Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Create devlink specific directory for more convenient future feature development. Flashing and reloading are supported only by E610 devices. Introduce basic FW/NVM validation since devlink reload introduces possibility of runtime NVM update. Check FW API version, FW recovery mode and FW rollback mode. Introduce minimal recovery probe to let user to reload the faulty FW when recovery mode is detected. This series is based on the series introducing initial E610 device support: https://lore.kernel.org/intel-wired-lan/20241205084450.4651-1-piotr.kwapulinski@intel.com/ --- v3: introduce to the series additional patch touching devlink/dev.c v4: introduce to the series additional patch changing netdev allocation --- Andrii Staikov (1): ixgbe: add support for FW rollback mode Jedrzej Jagielski (10): devlink: add value check to devlink_info_version_put() ixgbe: add initial devlink support ixgbe: add handler for devlink .info_get() ixgbe: add .info_get extension specific for E610 devices ixgbe: add E610 functions getting PBA and FW ver info ixgbe: extend .info_get with() stored versions ixgbe: add device flash update via devlink ixgbe: add support for devlink reload ixgbe: add FW API version check ixgbe: add E610 implementation of FW recovery mode Przemek Kitszel (1): ixgbe: wrap netdev_priv() usage Slawomir Mrozowicz (3): ixgbe: add E610 functions for acquiring flash data ixgbe: read the OROM version information ixgbe: read the netlist version information Documentation/networking/devlink/index.rst | 1 + Documentation/networking/devlink/ixgbe.rst | 110 ++ drivers/net/ethernet/intel/Kconfig | 2 + drivers/net/ethernet/intel/ixgbe/Makefile | 3 +- .../ethernet/intel/ixgbe/devlink/devlink.c | 585 +++++++ .../ethernet/intel/ixgbe/devlink/devlink.h | 10 + drivers/net/ethernet/intel/ixgbe/ixgbe.h | 21 + .../net/ethernet/intel/ixgbe/ixgbe_82598.c | 1 + .../net/ethernet/intel/ixgbe/ixgbe_82599.c | 1 + .../net/ethernet/intel/ixgbe/ixgbe_common.c | 1 + .../net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c | 56 +- drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c | 1515 +++++++++++++++-- drivers/net/ethernet/intel/ixgbe/ixgbe_e610.h | 16 + .../net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 86 +- drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c | 12 +- .../ethernet/intel/ixgbe/ixgbe_fw_update.c | 707 ++++++++ .../ethernet/intel/ixgbe/ixgbe_fw_update.h | 12 + .../net/ethernet/intel/ixgbe/ixgbe_ipsec.c | 10 +- drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 269 ++- .../net/ethernet/intel/ixgbe/ixgbe_sriov.c | 16 +- drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | 5 + .../ethernet/intel/ixgbe/ixgbe_type_e610.h | 161 +- drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c | 1 + drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c | 1 + drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c | 2 +- net/devlink/dev.c | 2 +- 26 files changed, 3364 insertions(+), 242 deletions(-) create mode 100644 Documentation/networking/devlink/ixgbe.rst create mode 100644 drivers/net/ethernet/intel/ixgbe/devlink/devlink.c create mode 100644 drivers/net/ethernet/intel/ixgbe/devlink/devlink.h create mode 100644 drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c create mode 100644 drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.h base-commit: 0a5f2afff8673e66160725b8ec8310f47c74f8b9