Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp3327535pxb; Wed, 13 Oct 2021 03:50:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyhNH2Av1sYzXYoYt7geYOgyk0xlAVylBJ50aaxu0YJhKrP2oHcr7ScCauN/WN7Yv4HR++w X-Received: by 2002:aa7:c945:: with SMTP id h5mr8648044edt.350.1634122227671; Wed, 13 Oct 2021 03:50:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1634122227; cv=none; d=google.com; s=arc-20160816; b=oerkBV8WPQb+ejrwdELrz1XgBRCVrLLGTxsLMtUOebNdpai6Y9tYdBQrWPUDxAuSmo g5/OUa54WrVxa/FS9OGU6IVG9QdfOgPCOVWUTSwtqQCvzdii7OeeaU8RcnyqZRNe1OaP TpWeDfAOtPNED4MXIkedOOsuzBwxJFDPHhOykh8gnk889hO/DFOJKBmohkMNyhaao80M e6FQAsp6ejziDB8+CWeTqrK1csSzwhuWMH8a2+Sb72Gzt9d6kfzKjKZKKk7yPN7T6BME NkzULz1JlWQ40lfaOdTCTC4u6OYYCP2wCwBK50yHPqA6hgS+megAum7GxT4NgrczUoOM xruA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=btzs1kaIVEiy/s06qQyVhO6FenKZTcZx6icJnCki7oo=; b=lAf3OH4zACw21VYNLtQjJOjVlgwWuzRXidOXXI0kBOfbAL9Of7gpfu37chsaYkA0QF u2kLv7Ao4ylUXam+Isop7Vke0pjXF06v7I3lU6h/2vFNrXeCEfja0P/w6w7XMe10Q4Dj tyHCncR2RyA0S8/B3Qor+sbX/jYpuTe/Oqd/ajjIAPl9bXvM3rN2tHgY+91fhAxwg7yc shzIMvH98t+fjKWlxPBE6ZPYJ14okaSVMSgAulhaGi6MXuSYttMLWW5KaIOWqmdqpn/6 +RUBYruALqTo1QoF9ttOlauFjrsaiOt0ZHVlRWXJk+bmC8ApZFiQIT0oMr0fxt03GtjQ z4Tg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w6si18403432edj.147.2021.10.13.03.49.55; Wed, 13 Oct 2021 03:50:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230083AbhJMKsC (ORCPT + 99 others); Wed, 13 Oct 2021 06:48:02 -0400 Received: from mx3.molgen.mpg.de ([141.14.17.11]:46721 "EHLO mx1.molgen.mpg.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S229795AbhJMKsB (ORCPT ); Wed, 13 Oct 2021 06:48:01 -0400 Received: from ersatz.molgen.mpg.de (g45.guest.molgen.mpg.de [141.14.220.45]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: pmenzel) by mx.molgen.mpg.de (Postfix) with ESMTPSA id 5F1F661E64760; Wed, 13 Oct 2021 12:45:56 +0200 (CEST) From: Paul Menzel To: Russell King , Andrew Lunn , Heiner Kallweit , "David S. Miller" , Jakub Kicinski Cc: Taras Chornyi , Vadym Kochan , Paul Menzel , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] net: sfp: add quirk for Finisar FTLF8536P4BCL Date: Wed, 13 Oct 2021 12:45:42 +0200 Message-Id: <20211013104542.14146-1-pmenzel@molgen.mpg.de> X-Mailer: git-send-email 2.33.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Taras Chornyi Finisar FTLF8536P4BCL can operate at 1000base-X and 10000base-SR, but reports 25G & 100GBd SR in it's EEPROM. Signed-off-by: Vadym Kochan Signed-off-by: Taras Chornyi [Upstream from https://github.com/dentproject/dentOS/pull/133/commits/b87b10ef72ea4638e80588facf3c9c2c1be67b40] Signed-off-by: Paul Menzel --- drivers/net/phy/sfp-bus.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/drivers/net/phy/sfp-bus.c b/drivers/net/phy/sfp-bus.c index 7362f8c3271c..162b4030a863 100644 --- a/drivers/net/phy/sfp-bus.c +++ b/drivers/net/phy/sfp-bus.c @@ -55,6 +55,13 @@ static void sfp_quirk_ubnt_uf_instant(const struct sfp_eeprom_id *id, phylink_set(modes, 1000baseX_Full); } +static void sfp_quirk_finisar_25g(const struct sfp_eeprom_id *id, + unsigned long *modes) +{ + phylink_set(modes, 1000baseX_Full); + phylink_set(modes, 10000baseSR_Full); +} + static const struct sfp_quirk sfp_quirks[] = { { // Alcatel Lucent G-010S-P can operate at 2500base-X, but @@ -78,7 +85,13 @@ static const struct sfp_quirk sfp_quirks[] = { .vendor = "UBNT", .part = "UF-INSTANT", .modes = sfp_quirk_ubnt_uf_instant, - }, + }, { + // Finisar FTLF8536P4BCL can operate at 1000base-X and 10000base-SR, + // but reports 25G & 100GBd SR in it's EEPROM + .vendor = "FINISAR CORP.", + .part = "FTLF8536P4BCL", + .modes = sfp_quirk_finisar_25g, + } }; static size_t sfp_strlen(const char *str, size_t maxlen) -- 2.33.0