Blame SOURCES/0023-netdrv-bnxt_en-read-the-clause-type-from-the-PHY-ID.patch

f95c89
From 046588ccc17d792129f8d5f2ad717a76134f9581 Mon Sep 17 00:00:00 2001
f95c89
From: Jonathan Toppins <jtoppins@redhat.com>
f95c89
Date: Wed, 2 Oct 2019 18:22:38 -0400
f95c89
Subject: [PATCH 23/96] [netdrv] bnxt_en: read the clause type from the PHY ID
f95c89
f95c89
Message-id: <ac05bd9d0f00f175e82e6c76fd0b7566472c377b.1570027456.git.jtoppins@redhat.com>
f95c89
Patchwork-id: 276443
f95c89
O-Subject: [RHEL-8.2 PATCH 16/78] bnxt_en: read the clause type from the PHY ID
f95c89
Bugzilla: 1724766
f95c89
RH-Acked-by: John Linville <linville@redhat.com>
f95c89
RH-Acked-by: Jarod Wilson <jarod@redhat.com>
f95c89
f95c89
Currently driver hard code Clause 45 based on speed supported by the
f95c89
PHY. Instead read the clause type from the PHY ID provided as input
f95c89
to the mdio ioctl.
f95c89
f95c89
Fixes: 0ca12be99667 ("bnxt_en: Add support for mdio read/write to external PHY")
f95c89
Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
f95c89
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
f95c89
Signed-off-by: David S. Miller <davem@davemloft.net>
f95c89
(cherry picked from commit 2730214ddb889c54d5f6a734e2fe584c295cbd9b)
f95c89
Bugzilla: 1724766
f95c89
Build Info: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=23809532
f95c89
Tested: build, boot, basic ping
f95c89
Signed-off-by: Jonathan Toppins <jtoppins@redhat.com>
f95c89
Signed-off-by: Bruno Meneguele <bmeneg@redhat.com>
f95c89
---
f95c89
 drivers/net/ethernet/broadcom/bnxt/bnxt.c | 4 ++--
f95c89
 1 file changed, 2 insertions(+), 2 deletions(-)
f95c89
f95c89
Index: src/drivers/net/ethernet/broadcom/bnxt/bnxt.c
f95c89
===================================================================
f95c89
--- src.orig/drivers/net/ethernet/broadcom/bnxt/bnxt.c	2020-02-06 16:23:13.240535824 +0100
f95c89
+++ src/drivers/net/ethernet/broadcom/bnxt/bnxt.c	2020-02-06 16:23:13.384534503 +0100
f95c89
@@ -8713,7 +8713,7 @@
f95c89
 	req.port_id = cpu_to_le16(bp->pf.port_id);
f95c89
 	req.phy_addr = phy_addr;
f95c89
 	req.reg_addr = cpu_to_le16(reg & 0x1f);
f95c89
-	if (bp->link_info.support_speeds & BNXT_LINK_SPEED_MSK_10GB) {
f95c89
+	if (mdio_phy_id_is_c45(phy_addr)) {
f95c89
 		req.cl45_mdio = 1;
f95c89
 		req.phy_addr = mdio_phy_id_prtad(phy_addr);
f95c89
 		req.dev_addr = mdio_phy_id_devad(phy_addr);
f95c89
@@ -8740,7 +8740,7 @@
f95c89
 	req.port_id = cpu_to_le16(bp->pf.port_id);
f95c89
 	req.phy_addr = phy_addr;
f95c89
 	req.reg_addr = cpu_to_le16(reg & 0x1f);
f95c89
-	if (bp->link_info.support_speeds & BNXT_LINK_SPEED_MSK_10GB) {
f95c89
+	if (mdio_phy_id_is_c45(phy_addr)) {
f95c89
 		req.cl45_mdio = 1;
f95c89
 		req.phy_addr = mdio_phy_id_prtad(phy_addr);
f95c89
 		req.dev_addr = mdio_phy_id_devad(phy_addr);