Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp783881ybt; Mon, 6 Jul 2020 23:39:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwaxQdj9Zj4lr7ruS7zh6XZGvuZ3B8rgNPqH8IQ4p2yvhl7WrtGBG7u2MsQGrc1mTBuB3Pe X-Received: by 2002:a50:cd1e:: with SMTP id z30mr58098718edi.364.1594103965830; Mon, 06 Jul 2020 23:39:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594103965; cv=none; d=google.com; s=arc-20160816; b=sHbCH6ykHZMLXtfd3ACoU3KDKvCwdjdPcBPJNk2wk/ggtOjEdgwy4jE62ASV2C2ldQ DzcRcpp4qfCTdLhhQiWEhcr/KHj9ZMXN2chJxUtIPv5n96RXKujJSzIE9kAn3QKIxFK1 fW6D/9DG3MTTi7i7czTM2hyT44BuOmjC5bApKYZjPXVkEffVx3aXHsm0oAVJMlKC08jz AkiLDSQ+8cQhma6e/+4nCz+2bVQUjc/9/7MSE8JmkaYxqo2cWqD3uRGDPwK/PFoi4VfX pgh4VhdUQtodG7x6zxMXJQnUwihZR1cfIw7lNw7qRY47ExTpXatCbZu6cadnglwrXbwP Ya+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from; bh=zq/ZJXhOJtoHWuiqHhocJMl0JmBwCkXrn8QgCulFlLM=; b=JMtXUOjSXcfi06GeWmaIeKDQnY/S3OkXs2FBWCNZXX074BJ207cDnjg37FHmOP4p0N B2g6w/92YAjphBEmI4tbgtPoqXXNkAxdvxyA8jiF0HgYKJXp8LZorEeue+HiRfN4ykU7 xbRv6Rhig+1w+6KPVFWjvSKgfbSE8ievhAsAYWaksROPdw3a0jNaX42w307aGEqYdNX0 44RDJ1q9ZI9DjZo2kk2bdU92iXskuIRa01ugCK3cW8YgxkzJguLICL4I91PT2pumwbfn ZTPiviCccqnZ1k4E5dMvPIw6BjvwzbJtUYEFq0mt40cvfizKOhNlVz3f3J44dv4+r/OS prhA== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id du1si17688593ejc.616.2020.07.06.23.39.01; Mon, 06 Jul 2020 23:39:25 -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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728174AbgGGGiv (ORCPT + 99 others); Tue, 7 Jul 2020 02:38:51 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:57520 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725825AbgGGGiv (ORCPT ); Tue, 7 Jul 2020 02:38:51 -0400 Received: from 61-220-137-37.hinet-ip.hinet.net ([61.220.137.37] helo=localhost) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1jshFb-0005om-1g; Tue, 07 Jul 2020 06:38:43 +0000 From: Kai-Heng Feng To: irusskikh@marvell.com Cc: anthony.wong@canonical.com, Kai-Heng Feng , "David S. Miller" , Jakub Kicinski , Nikita Danilov , Mark Starovoytov , Dmitry Bezrukov , netdev@vger.kernel.org (open list:AQUANTIA ETHERNET DRIVER (atlantic)), linux-kernel@vger.kernel.org (open list) Subject: [PATCH] net: atlantic: Add support for firmware v4 Date: Tue, 7 Jul 2020 14:38:28 +0800 Message-Id: <20200707063830.15645-1-kai.heng.feng@canonical.com> X-Mailer: git-send-email 2.17.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org We have a new ethernet card that is supported by the atlantic driver: 01:00.0 Ethernet controller [0200]: Aquantia Corp. AQC107 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion] [1d6a:07b1] (rev 02) But the driver failed to probe the device: kernel: atlantic: Bad FW version detected: 400001e kernel: atlantic: probe of 0000:01:00.0 failed with error -95 As a pure guesswork, simply adding the firmware version to the driver can make it function. Doing iperf3 as a smoketest doesn't show any abnormality either. Signed-off-by: Kai-Heng Feng --- drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c index 73c0f41df8d8..0b4cd1c0e022 100644 --- a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c +++ b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c @@ -46,6 +46,7 @@ #define HW_ATL_FW_VER_1X 0x01050006U #define HW_ATL_FW_VER_2X 0x02000000U #define HW_ATL_FW_VER_3X 0x03000000U +#define HW_ATL_FW_VER_4X 0x0400001EU #define FORCE_FLASHLESS 0 @@ -81,6 +82,9 @@ int hw_atl_utils_initfw(struct aq_hw_s *self, const struct aq_fw_ops **fw_ops) } else if (hw_atl_utils_ver_match(HW_ATL_FW_VER_3X, self->fw_ver_actual) == 0) { *fw_ops = &aq_fw_2x_ops; + } else if (hw_atl_utils_ver_match(HW_ATL_FW_VER_4X, + self->fw_ver_actual) == 0) { + *fw_ops = &aq_fw_2x_ops; } else { aq_pr_err("Bad FW version detected: %x\n", self->fw_ver_actual); -- 2.17.1