From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qt1-f169.google.com (mail-qt1-f169.google.com [209.85.160.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E0F923559E1 for ; Wed, 20 May 2026 20:03:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.169 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779307425; cv=none; b=u9igQMPes7E3bepu1Qe04nsOJw/c/rO50gLRWqm//+YXbyYScUb7lgCSO5n/kkenMW9gh5h7umH6rgVyHVMDBdCxyeUIHyuBY894tmfDtPBnOqqXOI8byqLkdURdc+cY7pgKBrmjigeSb1qqdD+fQM8v/H4ziAHVGcI1tFCI+mg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779307425; c=relaxed/simple; bh=Xvv5fQ5F5xIWtEaWElIAcf+23Bvf0pXPnm8EdudGugA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=dswh8/UwH2ucfHFjCgNvcx9WMpqiFp9WgjzJqLQr4LSTKB0OMuU2fhdjeMYImk3s7BjSBy9iG3he+MFsb1oWmVerCSlv+s+bWNyR/n56Zq5KD33lRNAuIqP+NXHqyb8AJJialVUbSZxDWJDoV10jCQ7P0IrAawJLhp8TidYbASs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Tu9jzpTC; arc=none smtp.client-ip=209.85.160.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Tu9jzpTC" Received: by mail-qt1-f169.google.com with SMTP id d75a77b69052e-50e5c5033f6so46583571cf.0 for ; Wed, 20 May 2026 13:03:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779307423; x=1779912223; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=8pPtDRaFJhpJpi9KrC1PwJKKtOYZtFzoBHFHqlj56RU=; b=Tu9jzpTCpVUUoJ2IHa+AOCrOEK2khueqdyh8456OVxgl9CnlLHpAVWtg7SQmuv8yAY brFTb5lHB/7KRCQ9hZVHlCNnhHnIa18EqghllofejEoi9MKiOkjQ6X/S8rJ6YRTbhW4l Mm2eOUqgMrXDrrL2r/quvFaux6JCmxxHUUob97km6GDbNT+d12cLCRNXZy3FZDRjB6aM xzBOzH4jp4gGRKDOnMm+zGDEbzfNGrrKO23i0nWPePaAt0eYHaRVlQcQHKdHjN36o2nh s9LFDdpAFssZ8X9wPwBpIUlgzq/DT6jfIJglWLm7xgAXwAdQRTy7wHxmq1eeZtFfnxi0 9NdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779307423; x=1779912223; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=8pPtDRaFJhpJpi9KrC1PwJKKtOYZtFzoBHFHqlj56RU=; b=ckrBIhZkFh429dR0B4oEVrQQ1dfB5mAfQQGsGEgzNGhWqKE3DwaGivMu7R2RyuDson k8U2kA38mKsYPDYn263WAjgdFlPptAzMUCm54jGPgVoHxwXY3K9OCaLquoXycjem8DMC +LVbt6nQDFhOTI0MtEKICK7+VcR60E0uIJ4fWrdFJvYFFlxYuX/Wc1jWHE9g4cL9EnEf GvQJT+ZSE7Bt8RM1KLB62O8mf3X8IhWA6nDJzongiLQsZBscR+uP6sMGlP7iKiwSxi9Z 5ggIt+2GKqMlvwR318NNj1fnjnHh7dTfK416d/GvfQmriIcZhESKtGZdGVbeWlhk+Eu8 7F/Q== X-Forwarded-Encrypted: i=1; AFNElJ8f1VQV9nhvN7lPOvMAufFXqbUCZSGOP3SVNn3mO1hwF9+/ZKGRZ2MptGpePwxeQtCAtgxIpPA=@vger.kernel.org X-Gm-Message-State: AOJu0YwkgK65zrg40DGg1M+aqNzDgqODus+KREbM5lGXlOxY21UGsPYm 9/TetwJkV5moRVpWQY1Y5EQhKEjQgiLQ0mHihYAaEdxcN3A6ehYw2IhE X-Gm-Gg: Acq92OFkjqD09baSBmvT6D04L2SUe4hV1llO3ha/E9Py8Q6aH2wvjw1xn1n/b0CNW5v 1hwcOLYhcYZDCJCDJJ/8dZDRQpy+BrgsRGf14m51PMpGpGKY2ZGx6Q1Ce0w3kiG3eONNQYkyEem xDbQ1HRIYfPOynqbUrP/6NKLE9pXIgghYYUlCjDsEmAxILNWOPUxw22AFEys7Ql60l6Zfo1xTc1 /ofZIpiTe0cchIXjfu79C9id5Q3yApdG09etCr89wwD4z4g+AA+Xi7BoasIybkdRwQ7LSfpesk8 HdG63kZXHqE2O7Ksz4x3AkI/cg3ifzvwTSqCu/RF6U0tbao0B12Xx6yaeUx+zH/2mxE+QccrxTD RC6PTxCBJTarvj6epUlRiw3HBOr6Ft/oaGHQyE9LAyssMk7AblaFbcBlCxo22d3GPqTuDg21WoV s/G56ATdGX9cGlOmqXGNGT/z9BKsMeVjQc4dGqWC039n59LopnEOjwa5tE X-Received: by 2002:a05:622a:d1:b0:509:1b76:e9b2 with SMTP id d75a77b69052e-5165a276812mr354941421cf.55.1779307423016; Wed, 20 May 2026 13:03:43 -0700 (PDT) Received: from PF5YBGDS.localdomain ([163.114.130.1]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-516514e0b91sm188849301cf.15.2026.05.20.13.03.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 13:03:42 -0700 (PDT) From: mike.marciniszyn@gmail.com To: Lee Jones , Pavel Machek , Alexander Duyck , Jakub Kicinski , kernel-team@meta.com, Andrew Lunn , "David S. Miller" , Eric Dumazet , Paolo Abeni , Russell King , Daniel Golle , Kees Cook , Simon Horman , Dimitri Daskalakis , Jacob Keller , Lee Trager , Mohsin Bashir , Alok Tiwari , Chengfeng Ye , Andy Shevchenko , Andrew Lunn Cc: mike.marciniszyn@gmail.com, linux-kernel@vger.kernel.org, linux-leds@vger.kernel.org, netdev@vger.kernel.org Subject: [PATCH net-next 2/3] net: eth: fbnic: Store max_speed from firmware dialog Date: Wed, 20 May 2026 16:03:36 -0400 Message-ID: <20260520200337.204431-3-mike.marciniszyn@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260520200337.204431-1-mike.marciniszyn@gmail.com> References: <20260520200337.204431-1-mike.marciniszyn@gmail.com> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: "Mike Marciniszyn (Meta)" The OCP spec required LED signalling to signal the difference between both below and at max speed capability. The firmware init dialog already contains that attribute so store it to support follow-on patches. Signed-off-by: Mike Marciniszyn (Meta) --- drivers/net/ethernet/meta/fbnic/fbnic_fw.c | 3 +++ drivers/net/ethernet/meta/fbnic/fbnic_fw.h | 3 +++ 2 files changed, 6 insertions(+) diff --git a/drivers/net/ethernet/meta/fbnic/fbnic_fw.c b/drivers/net/ethernet/meta/fbnic/fbnic_fw.c index 0c6812fcf185..59015769ca28 100644 --- a/drivers/net/ethernet/meta/fbnic/fbnic_fw.c +++ b/drivers/net/ethernet/meta/fbnic/fbnic_fw.c @@ -561,6 +561,7 @@ static const struct fbnic_tlv_index fbnic_fw_cap_resp_index[] = { FBNIC_TLV_ATTR_U32(FBNIC_FW_CAP_RESP_ACTIVE_FW_SLOT), FBNIC_TLV_ATTR_STRING(FBNIC_FW_CAP_RESP_VERSION_COMMIT_STR, FBNIC_FW_CAP_RESP_COMMIT_MAX_SIZE), + FBNIC_TLV_ATTR_U32(FBNIC_FW_CAP_RESP_FW_MAX_LINK_SPEED), FBNIC_TLV_ATTR_U32(FBNIC_FW_CAP_RESP_BMC_ALL_MULTI), FBNIC_TLV_ATTR_U32(FBNIC_FW_CAP_RESP_FW_LINK_SPEED), FBNIC_TLV_ATTR_U32(FBNIC_FW_CAP_RESP_FW_LINK_FEC), @@ -667,6 +668,8 @@ static int fbnic_fw_parse_cap_resp(void *opaque, struct fbnic_tlv_msg **results) fbd->fw_cap.active_slot = fta_get_uint(results, FBNIC_FW_CAP_RESP_ACTIVE_FW_SLOT); + fbd->fw_cap.max_link_speed = + fta_get_uint(results, FBNIC_FW_CAP_RESP_FW_MAX_LINK_SPEED); fbd->fw_cap.link_speed = fta_get_uint(results, FBNIC_FW_CAP_RESP_FW_LINK_SPEED); fbd->fw_cap.link_fec = diff --git a/drivers/net/ethernet/meta/fbnic/fbnic_fw.h b/drivers/net/ethernet/meta/fbnic/fbnic_fw.h index d84723e4cfa3..55c2ebc223d0 100644 --- a/drivers/net/ethernet/meta/fbnic/fbnic_fw.h +++ b/drivers/net/ethernet/meta/fbnic/fbnic_fw.h @@ -58,6 +58,7 @@ struct fbnic_fw_cap { u8 need_bmc_macda_sync : 1; u8 all_multi : 1; u8 link_speed; + u8 max_link_speed; u8 link_fec; u32 anti_rollback_version; }; @@ -241,6 +242,8 @@ enum { FBNIC_FW_CAP_RESP_STORED_CMRT_COMMIT_STR = 0x10, FBNIC_FW_CAP_RESP_UEFI_VERSION = 0x11, FBNIC_FW_CAP_RESP_UEFI_COMMIT_STR = 0x12, + FBNIC_FW_CAP_RESP_FW_MAX_LINK_SPEED = 0x13, + /* 0x14 reserved */ FBNIC_FW_CAP_RESP_ANTI_ROLLBACK_VERSION = 0x15, FBNIC_FW_CAP_RESP_MSG_MAX }; -- 2.43.0