diff mbox series

[net] net: dsa: microchip: disable EEE for KSZ8567/KSZ9567/KSZ9896/KSZ9897.

Message ID 20240807205209.21464-1-foss@martin-whitaker.me.uk (mailing list archive)
State Accepted
Commit 0411f73c13afcf619d7aa7546edbc5710a871cae
Delegated to: Netdev Maintainers
Headers show
Series [net] net: dsa: microchip: disable EEE for KSZ8567/KSZ9567/KSZ9896/KSZ9897. | expand

Checks

Context Check Description
netdev/series_format success Single patches do not need cover letters
netdev/tree_selection success Clearly marked for net
netdev/ynl success Generated files up to date; no warnings/errors; no diff in generated;
netdev/fixes_present success Fixes tag present in non-next series
netdev/header_inline success No static functions without inline keyword in header files
netdev/build_32bit success Errors and warnings before: 29 this patch: 29
netdev/build_tools success No tools touched, skip
netdev/cc_maintainers fail 2 blamed authors not CCed: arun.ramadoss@microchip.com andrew@lunn.ch; 7 maintainers not CCed: f.fainelli@gmail.com edumazet@google.com olteanv@gmail.com andrew@lunn.ch woojung.huh@microchip.com pabeni@redhat.com arun.ramadoss@microchip.com
netdev/build_clang success Errors and warnings before: 29 this patch: 29
netdev/verify_signedoff success Signed-off-by tag matches author and committer
netdev/deprecated_api success None detected
netdev/check_selftest success No net selftest shell script
netdev/verify_fixes success Fixes tag looks correct
netdev/build_allmodconfig_warn success Errors and warnings before: 29 this patch: 29
netdev/checkpatch success total: 0 errors, 0 warnings, 0 checks, 24 lines checked
netdev/build_clang_rust success No Rust files in patch. Skipping build
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/source_inline success Was 0 now: 0
netdev/contest success net-next-2024-08-08--03-00 (tests: 705)

Commit Message

Martin Whitaker Aug. 7, 2024, 8:52 p.m. UTC
As noted in the device errata [1-8], EEE support is not fully operational
in the KSZ8567, KSZ9477, KSZ9567, KSZ9896, and KSZ9897 devices, causing
link drops when connected to another device that supports EEE. The patch
series "net: add EEE support for KSZ9477 switch family" merged in commit
9b0bf4f77162 caused EEE support to be enabled in these devices. A fix for
this regression for the KSZ9477 alone was merged in commit 08c6d8bae48c2.
This patch extends this fix to the other affected devices.

[1] https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ8567R-Errata-DS80000752.pdf
[2] https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ8567S-Errata-DS80000753.pdf
[3] https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ9477S-Errata-DS80000754.pdf
[4] https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ9567R-Errata-DS80000755.pdf
[5] https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ9567S-Errata-DS80000756.pdf
[6] https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ9896C-Errata-DS80000757.pdf
[7] https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ9897R-Errata-DS80000758.pdf
[8] https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ9897S-Errata-DS80000759.pdf

Fixes: 69d3b36ca045 ("net: dsa: microchip: enable EEE support") # for KSZ8567/KSZ9567/KSZ9896/KSZ9897
Link: https://lore.kernel.org/netdev/137ce1ee-0b68-4c96-a717-c8164b514eec@martin-whitaker.me.uk/
Signed-off-by: Martin Whitaker <foss@martin-whitaker.me.uk>
---
 drivers/net/dsa/microchip/ksz_common.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

--
2.41.1

Comments

Arun Ramadoss Aug. 8, 2024, 2:44 a.m. UTC | #1
Hi Martin, 

On Wed, 2024-08-07 at 21:52 +0100, Martin Whitaker wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you
> know the content is safe
> 
> As noted in the device errata [1-8], EEE support is not fully
> operational
> in the KSZ8567, KSZ9477, KSZ9567, KSZ9896, and KSZ9897 devices,
> causing
> link drops when connected to another device that supports EEE. The
> patch
> series "net: add EEE support for KSZ9477 switch family" merged in
> commit
> 9b0bf4f77162 caused EEE support to be enabled in these devices. A fix
> for
> this regression for the KSZ9477 alone was merged in commit
> 08c6d8bae48c2.
> This patch extends this fix to the other affected devices.
> 
> [1] 
> https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ8567R-Errata-DS80000752.pdf
> [2] 
> https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ8567S-Errata-DS80000753.pdf
> [3] 
> https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ9477S-Errata-DS80000754.pdf
> [4] 
> https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ9567R-Errata-DS80000755.pdf
> [5] 
> https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ9567S-Errata-DS80000756.pdf
> [6] 
> https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ9896C-Errata-DS80000757.pdf
> [7] 
> https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ9897R-Errata-DS80000758.pdf
> [8] 
> https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ9897S-Errata-DS80000759.pdf
> 
> Fixes: 69d3b36ca045 ("net: dsa: microchip: enable EEE support") # for
> KSZ8567/KSZ9567/KSZ9896/KSZ9897
> Link: 
> https://lore.kernel.org/netdev/137ce1ee-0b68-4c96-a717-c8164b514eec@martin-whitaker.me.uk/
> Signed-off-by: Martin Whitaker <foss@martin-whitaker.me.uk>

Acked-by: Arun Ramadoss <arun.ramadoss@microchip.com>
Oleksij Rempel Aug. 8, 2024, 4:14 a.m. UTC | #2
On Wed, Aug 07, 2024 at 09:52:09PM +0100, Martin Whitaker wrote:
> As noted in the device errata [1-8], EEE support is not fully operational
> in the KSZ8567, KSZ9477, KSZ9567, KSZ9896, and KSZ9897 devices, causing
> link drops when connected to another device that supports EEE. The patch
> series "net: add EEE support for KSZ9477 switch family" merged in commit
> 9b0bf4f77162 caused EEE support to be enabled in these devices. A fix for
> this regression for the KSZ9477 alone was merged in commit 08c6d8bae48c2.
> This patch extends this fix to the other affected devices.
> 
> [1] https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ8567R-Errata-DS80000752.pdf
> [2] https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ8567S-Errata-DS80000753.pdf
> [3] https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ9477S-Errata-DS80000754.pdf
> [4] https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ9567R-Errata-DS80000755.pdf
> [5] https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ9567S-Errata-DS80000756.pdf
> [6] https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ9896C-Errata-DS80000757.pdf
> [7] https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ9897R-Errata-DS80000758.pdf
> [8] https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ9897S-Errata-DS80000759.pdf
> 
> Fixes: 69d3b36ca045 ("net: dsa: microchip: enable EEE support") # for KSZ8567/KSZ9567/KSZ9896/KSZ9897
> Link: https://lore.kernel.org/netdev/137ce1ee-0b68-4c96-a717-c8164b514eec@martin-whitaker.me.uk/
> Signed-off-by: Martin Whitaker <foss@martin-whitaker.me.uk>

Reviewed-by: Oleksij Rempel <o.rempel@pengutronix.de>
Lukasz Majewski Aug. 8, 2024, 9:02 a.m. UTC | #3
Hi Martin,

> As noted in the device errata [1-8], EEE support is not fully
> operational in the KSZ8567, KSZ9477, KSZ9567, KSZ9896, and KSZ9897
> devices, causing link drops when connected to another device that
> supports EEE. The patch series "net: add EEE support for KSZ9477
> switch family" merged in commit 9b0bf4f77162 caused EEE support to be
> enabled in these devices. A fix for this regression for the KSZ9477
> alone was merged in commit 08c6d8bae48c2. This patch extends this fix
> to the other affected devices.
> 
> [1]
> https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ8567R-Errata-DS80000752.pdf
> [2]
> https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ8567S-Errata-DS80000753.pdf
> [3]
> https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ9477S-Errata-DS80000754.pdf
> [4]
> https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ9567R-Errata-DS80000755.pdf
> [5]
> https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ9567S-Errata-DS80000756.pdf
> [6]
> https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ9896C-Errata-DS80000757.pdf
> [7]
> https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ9897R-Errata-DS80000758.pdf
> [8]
> https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/Errata/KSZ9897S-Errata-DS80000759.pdf
> 
> Fixes: 69d3b36ca045 ("net: dsa: microchip: enable EEE support") # for
> KSZ8567/KSZ9567/KSZ9896/KSZ9897 Link:
> https://lore.kernel.org/netdev/137ce1ee-0b68-4c96-a717-c8164b514eec@martin-whitaker.me.uk/
> Signed-off-by: Martin Whitaker <foss@martin-whitaker.me.uk> ---
>  drivers/net/dsa/microchip/ksz_common.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/drivers/net/dsa/microchip/ksz_common.c
> b/drivers/net/dsa/microchip/ksz_common.c index
> b074b4bb0629..cebc6eaa932b 100644 ---
> a/drivers/net/dsa/microchip/ksz_common.c +++
> b/drivers/net/dsa/microchip/ksz_common.c @@ -2578,7 +2578,11 @@
> static u32 ksz_get_phy_flags(struct dsa_switch *ds, int port) if
> (!port) return MICREL_KSZ8_P1_ERRATA;
>  		break;
> +	case KSZ8567_CHIP_ID:
>  	case KSZ9477_CHIP_ID:
> +	case KSZ9567_CHIP_ID:
> +	case KSZ9896_CHIP_ID:
> +	case KSZ9897_CHIP_ID:
>  		/* KSZ9477 Errata DS80000754C
>  		 *
>  		 * Module 4: Energy Efficient Ethernet (EEE) feature
> select must @@ -2588,6 +2592,13 @@ static u32
> ksz_get_phy_flags(struct dsa_switch *ds, int port)
>  		 *   controls. If not disabled, the PHY ports can
> auto-negotiate
>  		 *   to enable EEE, and this feature can cause link
> drops when
>  		 *   linked to another device supporting EEE.
> +		 *
> +		 * The same item appears in the errata for the
> KSZ9567, KSZ9896,
> +		 * and KSZ9897.
> +		 *
> +		 * A similar item appears in the errata for the
> KSZ8567, but
> +		 * provides an alternative workaround. For now, use
> the simple
> +		 * workaround of disabling the EEE feature for this
> device too. */
>  		return MICREL_NO_EEE;
>  	}
> --
> 2.41.1

Reviewed-by: Lukasz Majewski <lukma@denx.de>


Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Erika Unter
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de
patchwork-bot+netdevbpf@kernel.org Aug. 8, 2024, 4:20 p.m. UTC | #4
Hello:

This patch was applied to netdev/net.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Wed,  7 Aug 2024 21:52:09 +0100 you wrote:
> As noted in the device errata [1-8], EEE support is not fully operational
> in the KSZ8567, KSZ9477, KSZ9567, KSZ9896, and KSZ9897 devices, causing
> link drops when connected to another device that supports EEE. The patch
> series "net: add EEE support for KSZ9477 switch family" merged in commit
> 9b0bf4f77162 caused EEE support to be enabled in these devices. A fix for
> this regression for the KSZ9477 alone was merged in commit 08c6d8bae48c2.
> This patch extends this fix to the other affected devices.
> 
> [...]

Here is the summary with links:
  - [net] net: dsa: microchip: disable EEE for KSZ8567/KSZ9567/KSZ9896/KSZ9897.
    https://git.kernel.org/netdev/net/c/0411f73c13af

You are awesome, thank you!
diff mbox series

Patch

diff --git a/drivers/net/dsa/microchip/ksz_common.c b/drivers/net/dsa/microchip/ksz_common.c
index b074b4bb0629..cebc6eaa932b 100644
--- a/drivers/net/dsa/microchip/ksz_common.c
+++ b/drivers/net/dsa/microchip/ksz_common.c
@@ -2578,7 +2578,11 @@  static u32 ksz_get_phy_flags(struct dsa_switch *ds, int port)
 		if (!port)
 			return MICREL_KSZ8_P1_ERRATA;
 		break;
+	case KSZ8567_CHIP_ID:
 	case KSZ9477_CHIP_ID:
+	case KSZ9567_CHIP_ID:
+	case KSZ9896_CHIP_ID:
+	case KSZ9897_CHIP_ID:
 		/* KSZ9477 Errata DS80000754C
 		 *
 		 * Module 4: Energy Efficient Ethernet (EEE) feature select must
@@ -2588,6 +2592,13 @@  static u32 ksz_get_phy_flags(struct dsa_switch *ds, int port)
 		 *   controls. If not disabled, the PHY ports can auto-negotiate
 		 *   to enable EEE, and this feature can cause link drops when
 		 *   linked to another device supporting EEE.
+		 *
+		 * The same item appears in the errata for the KSZ9567, KSZ9896,
+		 * and KSZ9897.
+		 *
+		 * A similar item appears in the errata for the KSZ8567, but
+		 * provides an alternative workaround. For now, use the simple
+		 * workaround of disabling the EEE feature for this device too.
 		 */
 		return MICREL_NO_EEE;
 	}