TG-641: 10g copper not recover down up#88
Open
paul-sirin wants to merge 3 commits into
Open
Conversation
2e5302e to
35653c9
Compare
…ink cycle (TG-641)" This reverts commit e9cf2db.
…kets This commit applies properly 74f37e8 commit's design flaw was calling mv3310_ptp_update() from mv3310_read_status() every poll cycle while the link was up. This wrote to PTP MAC frame-size control registers (0x8c00/0x8e00) to switch between 1G and XG register groups, which corrupted PHY host SerDes state for the next link cycle. Moved the XG MRU writes to mv3310_ptp_start(), which is called from mv3310_resume() after mv3310_power_up() (post-SWRST, post-100ms delay). Also fixed two latent null-dereferences in both functions where phydev = priv->phydev was assigned before the !priv guard check.
35653c9 to
2e80c3c
Compare
There was a problem hiding this comment.
Pull request overview
This PR addresses a 10G copper down/up recovery regression in the Marvell 10G PHY driver by backing out the rate-match workaround and moving jumbo MRU programming to a safer post-reset point.
Changes:
- Removes the
copper_multispeedrate-match handling and reverts default MAC type setup back to 10GBASE-R. - Removes runtime PTP MRU updates from link status handling.
- Programs both XG and 1G/2.5G MRU register groups during PTP start after reset.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
drivers/net/phy/marvell10g.c |
Reverts rate-match/multispeed handling and removes per-link PTP MRU update calls. |
drivers/net/phy/marvell10g_ptp.c |
Moves jumbo MRU programming into mv3310_ptp_start() and removes speed-cached MRU reconfiguration. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
386
to
+387
| if (ret < 0) | ||
| dev_err_ratelimited(&phydev->mdio.dev, | ||
| "failed to set MRU for speed=%d (%d)\n", | ||
| speed, ret); | ||
| else | ||
| priv->old_speed = speed; | ||
| dev_err(&phydev->mdio.dev, "failed to set MRU: %d\n", ret); |
Author
There was a problem hiding this comment.
we can just reset ret after PTP before MRU
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
NO SQUASH MERGE!