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 Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 813AFCF34A9 for ; Thu, 3 Oct 2024 14:18:07 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 21FF3811C1; Thu, 3 Oct 2024 14:18:07 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id ns32juK6zvQF; Thu, 3 Oct 2024 14:18:06 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=140.211.166.34; helo=ash.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org; receiver= DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 64D1180F5A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org; s=default; t=1727965086; bh=6ESdfmPCQYa3BNQa+UtM76/z8X19hwjyHRbfvO+yBTs=; h=From:To:Date:Subject:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:Cc:From; b=8d+dI+3YjqCRVHfmHPKbLxgTmvEl3+2X2MIWTyaBgFBu7MwG73LfpNkZKksYkvc5R U9iXVjtGvKqyocngHrZ/MsIX2hYLhXieJ0Tdb5rph1Nv8yekFI842YPIuLUm65Hgxe UoOT+Eo8KeN+hMxLB3foAdqPeTWXNJvtGRFg9j1vaQ9EKkjXd59KE/o8c83amsvYZX NCuCj6pf+OtbzWF6dPgLy6iKfzhQLXMrBZ7T67zFgEvdKEws7JMIk5IPZY+deJiO0h zmlnwZ1XX9IP7rklrLQaHfMPGn5RYzOw6Zaa2ryNWP0ctNRutQLQR8eZIYisJPeEKJ C7Vl06jOaWhRw== Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp1.osuosl.org (Postfix) with ESMTP id 64D1180F5A; Thu, 3 Oct 2024 14:18:06 +0000 (UTC) Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 176C21BF982 for ; Thu, 3 Oct 2024 14:18:05 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id DBCDE80C7A for ; Thu, 3 Oct 2024 14:18:04 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id tSpqnAFp097x for ; Thu, 3 Oct 2024 14:18:04 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=192.198.163.7; helo=mgamail.intel.com; envelope-from=piotr.kwapulinski@intel.com; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp1.osuosl.org 03AF980F5A DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 03AF980F5A Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) by smtp1.osuosl.org (Postfix) with ESMTPS id 03AF980F5A for ; Thu, 3 Oct 2024 14:18:03 +0000 (UTC) X-CSE-ConnectionGUID: 5Vg+djYcQCKGyU1cPS6Tmg== X-CSE-MsgGUID: PSLbBjkbQTeM/bNS3l8iOQ== X-IronPort-AV: E=McAfee;i="6700,10204,11214"; a="52567058" X-IronPort-AV: E=Sophos;i="6.11,174,1725346800"; d="scan'208";a="52567058" Received: from orviesa007.jf.intel.com ([10.64.159.147]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Oct 2024 07:18:03 -0700 X-CSE-ConnectionGUID: Ly1usLgdSX6qJNdkiSSAuw== X-CSE-MsgGUID: 6RXlGXBUToa+JO1Q7tmSOg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.11,174,1725346800"; d="scan'208";a="74793796" Received: from pkwapuli-mobl1.ger.corp.intel.com (HELO localhost.localdomain) ([10.245.117.83]) by orviesa007.jf.intel.com with ESMTP; 03 Oct 2024 07:18:02 -0700 From: Piotr Kwapulinski To: intel-wired-lan@lists.osuosl.org Date: Thu, 3 Oct 2024 16:16:43 +0200 Message-ID: <20241003141650.16524-1-piotr.kwapulinski@intel.com> X-Mailer: git-send-email 2.43.5 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1727965084; x=1759501084; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=Z5thH/EpUIjGuMy68wcBUxaGKzOumavlo5M5anIJCRg=; b=K5gcL4le5k5QTxc+3H/EH5PJhAdV8Q97/N0EX8Eavb+yQEmz/dEQjxI4 Y1nQuTX538ZGPrI4pf+iZ0fTE1Y97H29Au/KlXIp0s7tRUARNuU4RssBd ukgyhwq0ZkIOtViJYCfrvecl5UuYIsDtNwNwwI8fp0oUr/GnkqQ135nrX 5x4HME01/K4Gr4TsPwByS9+Sx4E34sLtWMg+JafTb0n+1maMNQOwAKg40 quaif1RZzcHSAjLK90VBqEe2FfLHL+sG9jJ+Rkd3MObJjhL6d4GjAQ8RP dV9FM5bEk+9dRvMUuwA/4wqCN8g4nflRpaSqME+uStz4D07kASL52bDIV g==; X-Mailman-Original-Authentication-Results: smtp1.osuosl.org; dmarc=pass (p=none dis=none) header.from=intel.com X-Mailman-Original-Authentication-Results: smtp1.osuosl.org; dkim=pass (2048-bit key, unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=K5gcL4le Subject: [Intel-wired-lan] [PATCH iwl-next v9 0/7] ixgbe: Add support for Intel(R) E610 device X-BeenThere: intel-wired-lan@osuosl.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel Wired Ethernet Linux Kernel Driver Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Piotr Kwapulinski , netdev@vger.kernel.org Errors-To: intel-wired-lan-bounces@osuosl.org Sender: "Intel-wired-lan" Add initial support for Intel(R) E610 Series of network devices. The E610 is based on X550 but adds firmware managed link, enhanced security capabilities and support for updated server manageability. This patch series adds low level support for the following features and enables link management. Piotr Kwapulinski (7): ixgbe: Add support for E610 FW Admin Command Interface ixgbe: Add support for E610 device capabilities detection ixgbe: Add link management support for E610 device ixgbe: Add support for NVM handling in E610 device ixgbe: Add ixgbe_x540 multiple header inclusion protection ixgbe: Clean up the E610 link management related code ixgbe: Enable link management in E610 device drivers/net/ethernet/intel/ixgbe/Makefile | 4 +- drivers/net/ethernet/intel/ixgbe/ixgbe.h | 14 +- .../net/ethernet/intel/ixgbe/ixgbe_82599.c | 3 +- .../net/ethernet/intel/ixgbe/ixgbe_common.c | 25 +- .../net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c | 3 +- drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c | 2579 +++++++++++++++++ drivers/net/ethernet/intel/ixgbe/ixgbe_e610.h | 76 + .../net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 6 +- drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c | 3 +- drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 437 ++- drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c | 4 +- drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c | 5 +- drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | 72 +- .../ethernet/intel/ixgbe/ixgbe_type_e610.h | 1067 +++++++ drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c | 12 +- drivers/net/ethernet/intel/ixgbe/ixgbe_x540.h | 7 +- drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c | 29 +- drivers/net/ethernet/intel/ixgbe/ixgbe_x550.h | 20 + 18 files changed, 4318 insertions(+), 48 deletions(-) create mode 100644 drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c create mode 100644 drivers/net/ethernet/intel/ixgbe/ixgbe_e610.h create mode 100644 drivers/net/ethernet/intel/ixgbe/ixgbe_type_e610.h create mode 100644 drivers/net/ethernet/intel/ixgbe/ixgbe_x550.h -- V1 -> V2: - fix for no previous prototypes for ixgbe_set_fw_drv_ver_x550, ixgbe_set_ethertype_anti_spoofing_x550 and ixgbe_set_source_address_pruning_x550 - fix variable type mismatch: u16, u32, u64 - fix inaccurate doc for ixgbe_aci_desc - remove extra buffer allocation in ixgbe_aci_send_cmd_execute - replace custom loops with generic fls64 in ixgbe_get_media_type_e610 - add buffer caching and optimization in ixgbe_aci_send_cmd V2 -> V3: - revert ixgbe_set_eee_capable inlining - update copyright date V3 -> V4: - cleanup local variables in ixgbe_get_num_per_func - remove redundant casting in ixgbe_aci_disable_rxen V4 -> V5: - remove unnecessary structure members initialization - remove unnecessary casting - fix comments V5 -> V6: - create dedicated patch for ixgbe_x540 multiple header inclusion protection - extend debug messages - add descriptive constant for Receive Address Registers - remove unrelated changes - create dedicated patch for code cleanup - remove and cleanup of some conditions - spelling fixes V6 -> V7: - rebase to adopt recent Makefile "ixgbe-y" changes V7 -> V8: - implement more clear execution flow in ixgbe_aci_list_caps(), ixgbe_discover_func_caps(), ixgbe_get_link_status(), ixgbe_fc_autoneg_e610(), ixgbe_disable_rx_e610() and ixgbe_setup_phy_link_e610() - make use of FIELD_PREP macro in ixgbe_is_media_cage_present() V8 -> V9: - tune-up auto-negotiation advertised link speeds at driver load - update the method of pending events detection - update the way of discovering device and function capabilities - update the parameter set-up for the firmware-controlled PHYs - fix port down after driver reload 2.43.0