From nobody Thu Nov 21 20:47:58 2024 Received: from rtits2.realtek.com.tw (rtits2.realtek.com [211.75.126.72]) (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 336D4157E78; Wed, 20 Nov 2024 07:57:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=211.75.126.72 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732089440; cv=none; b=he9dQU8C2HcQsf29uaM0VWzxnKiGIXan1EId10I3lIdHyd9XagyemOWbze+c02NNIAE9vjG6fDrUA3XoSxszAB7BZm8/uZbinPWIDmXaXVmV/CVHG8V33LIf5NORrjLvRb76TJQmpDGhVfr5lR6e0+++it9jM+q4lzFmozZ1mWQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732089440; c=relaxed/simple; bh=jupBb4ye504kRCeeubDO/UeYQKREE72u1jkJWZkacUA=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=mSwWQ/S5aAjtDdD4omQJa9u5dvTTLecCh0RYC0iLeGarWYUUeiuL5bYu6boRH3Dc6CqWXD8pZ0M3KeYhpXVXenQehGNLKjQgP4xpUMZ9pfYSPvc7nZwdgswtUfQmc7q9WE1GMjgqad2uQ71NPvPnz9pUnbQiBhBu1kAsm31Bi3o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=realtek.com; spf=pass smtp.mailfrom=realtek.com; dkim=temperror (0-bit key) header.d=realtek.com header.i=@realtek.com header.b=AKmePGHX; arc=none smtp.client-ip=211.75.126.72 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=realtek.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=realtek.com Authentication-Results: smtp.subspace.kernel.org; dkim=temperror (0-bit key) header.d=realtek.com header.i=@realtek.com header.b="AKmePGHX" X-SpamFilter-By: ArmorX SpamTrap 5.78 with qID 4AK7uuhqF3745295, This message is accepted by code: ctloc85258 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=realtek.com; s=dkim; t=1732089417; bh=jupBb4ye504kRCeeubDO/UeYQKREE72u1jkJWZkacUA=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Transfer-Encoding:Content-Type; b=AKmePGHX8BwitOciXwoMVm7i3lz+kQa6sAmUnHi/YJvVAQd/WgCZBLl1kJj1dctd0 CMQ7AD0DaVvUE926w7o/Ja4mmaJjjjaMNRn4rfePvLBtCNcPL5p72HzBm9/xecrvep OYHoyTdgGc0qflCG8xiQnO84nb51azyRzPtG7wWtu2ukm3cSPe5TgY0VW5D99Dsm2b hOyyEB/toJ2rkcI/Y+ThQ0QvsXzKsLiEkcSE0Kj3ugeipXEnF1uPuhIsSOfj/ykHlr c4grwyY/zgGlGwrRDi4MzZiEMoN/sklcmvuM5f0y9WDJNz6rSRnTKDH2FqdYEPgEKN 8R33EnlROcCwg== Received: from mail.realtek.com (rtexh36505.realtek.com.tw[172.21.6.25]) by rtits2.realtek.com.tw (8.15.2/3.06/5.92) with ESMTPS id 4AK7uuhqF3745295 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 20 Nov 2024 15:56:57 +0800 Received: from RTEXMBS04.realtek.com.tw (172.21.6.97) by RTEXH36505.realtek.com.tw (172.21.6.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Wed, 20 Nov 2024 15:56:57 +0800 Received: from RTDOMAIN (172.21.210.74) by RTEXMBS04.realtek.com.tw (172.21.6.97) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Wed, 20 Nov 2024 15:56:56 +0800 From: Justin Lai To: CC: , , , , , , , , , , Justin Lai Subject: [PATCH net v5 1/3] rtase: Refactor the rtase_check_mac_version_valid() function Date: Wed, 20 Nov 2024 15:56:22 +0800 Message-ID: <20241120075624.499464-2-justinlai0215@realtek.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20241120075624.499464-1-justinlai0215@realtek.com> References: <20241120075624.499464-1-justinlai0215@realtek.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: RTEXH36505.realtek.com.tw (172.21.6.25) To RTEXMBS04.realtek.com.tw (172.21.6.97) Content-Type: text/plain; charset="utf-8" Different hardware requires different configurations, but this distinction was not made previously. Additionally, the error message was not clear enough. Therefore, this patch will address the issues mentioned above. Fixes: a36e9f5cfe9e ("rtase: Add support for a pci table in this module") Signed-off-by: Justin Lai --- drivers/net/ethernet/realtek/rtase/rtase.h | 7 ++++- .../net/ethernet/realtek/rtase/rtase_main.c | 28 +++++++++++-------- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/drivers/net/ethernet/realtek/rtase/rtase.h b/drivers/net/ether= net/realtek/rtase/rtase.h index 583c33930f88..4a4434869b10 100644 --- a/drivers/net/ethernet/realtek/rtase/rtase.h +++ b/drivers/net/ethernet/realtek/rtase/rtase.h @@ -9,7 +9,10 @@ #ifndef RTASE_H #define RTASE_H =20 -#define RTASE_HW_VER_MASK 0x7C800000 +#define RTASE_HW_VER_MASK 0x7C800000 +#define RTASE_HW_VER_906X_7XA 0x00800000 +#define RTASE_HW_VER_906X_7XC 0x04000000 +#define RTASE_HW_VER_907XD_V1 0x04800000 =20 #define RTASE_RX_DMA_BURST_256 4 #define RTASE_TX_DMA_BURST_UNLIMITED 7 @@ -327,6 +330,8 @@ struct rtase_private { u16 int_nums; u16 tx_int_mit; u16 rx_int_mit; + + u32 hw_ver; }; =20 #define RTASE_LSO_64K 64000 diff --git a/drivers/net/ethernet/realtek/rtase/rtase_main.c b/drivers/net/= ethernet/realtek/rtase/rtase_main.c index f8777b7663d3..c2999e24904d 100644 --- a/drivers/net/ethernet/realtek/rtase/rtase_main.c +++ b/drivers/net/ethernet/realtek/rtase/rtase_main.c @@ -1972,20 +1972,21 @@ static void rtase_init_software_variable(struct pci= _dev *pdev, tp->dev->max_mtu =3D RTASE_MAX_JUMBO_SIZE; } =20 -static bool rtase_check_mac_version_valid(struct rtase_private *tp) +static int rtase_check_mac_version_valid(struct rtase_private *tp) { - u32 hw_ver =3D rtase_r32(tp, RTASE_TX_CONFIG_0) & RTASE_HW_VER_MASK; - bool known_ver =3D false; + int ret =3D -ENODEV; =20 - switch (hw_ver) { - case 0x00800000: - case 0x04000000: - case 0x04800000: - known_ver =3D true; + tp->hw_ver =3D rtase_r32(tp, RTASE_TX_CONFIG_0) & RTASE_HW_VER_MASK; + + switch (tp->hw_ver) { + case RTASE_HW_VER_906X_7XA: + case RTASE_HW_VER_906X_7XC: + case RTASE_HW_VER_907XD_V1: + ret =3D 0; break; } =20 - return known_ver; + return ret; } =20 static int rtase_init_board(struct pci_dev *pdev, struct net_device **dev_= out, @@ -2105,9 +2106,12 @@ static int rtase_init_one(struct pci_dev *pdev, tp->pdev =3D pdev; =20 /* identify chip attached to board */ - if (!rtase_check_mac_version_valid(tp)) - return dev_err_probe(&pdev->dev, -ENODEV, - "unknown chip version, contact rtase maintainers (see MAINTAINERS= file)\n"); + ret =3D rtase_check_mac_version_valid(tp); + if (ret !=3D 0) { + dev_err(&pdev->dev, + "unknown chip version: 0x%08x, contact rtase maintainers (see MAINTAINE= RS file)\n", + tp->hw_ver); + } =20 rtase_init_software_variable(pdev, tp); rtase_init_hardware(tp); --=20 2.34.1