Messages in this thread | | | From | Marek Behún <> | Subject | [PATCH linux-phy v2 0/4] mvebu a3720 comphy: Fix serdes transmit amplitude | Date | Wed, 17 Aug 2022 22:03:31 +0200 |
| |
Changes since v1: - fix static const char * array should probably be static const char * const warning in patch 2 - fix wrong parameter order to function comphy_find_best_tx_amp() in patch 3
Original cover letter:
This series adds support for setting serdes transmit amplitude for ethernet modes (sgmii, 1000base-x, 2500base-x) in the Marvell A3720 comphy driver.
The amplitude is set according to setting in device tree.
Finally the Turris MOX device tree is changed to set the 2500base-x mode tx amplitude to 1025 mV.
This is needed to fix a weird issue wherein when A3720 sends a packet to Topaz, and the packet contains a long sequence of 'J's or '\xb5' bytes (these translate to '010101010101'... in 8b/10b encoding), the packet may be lost on Topaz due to FCS error. The probability of loss grows with number of 'J's:
loss ______ 100% .-^ / / 50% / / / 0% ______.-^ 90 114 125 number of consecutive 'J's
Marek Behún (4): string.h: Add str_has_proper_prefix() device property: Add {fwnode/device}_get_tx_p2p_amplitude() phy: marvell: phy-mvebu-a3700-comphy: Support changing tx amplitude for ethernet arm64: dts: armada-3720-turris-mox: Change comphy tx amplitude for 2500base-x mode
.../dts/marvell/armada-3720-turris-mox.dts | 10 ++ drivers/base/property.c | 130 ++++++++++++++++++ drivers/phy/marvell/phy-mvebu-a3700-comphy.c | 109 ++++++++++++++- include/linux/property.h | 5 + include/linux/string.h | 18 +++ 5 files changed, 271 insertions(+), 1 deletion(-)
-- 2.35.1
| |