49 lines
2.0 KiB
Diff
49 lines
2.0 KiB
Diff
From 9720f6152c85aabc9dbf9fcbce0ac4c19a6648aa Mon Sep 17 00:00:00 2001
|
|
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
|
Date: Wed, 20 Jan 2021 02:57:45 +0000
|
|
Subject: [PATCH 28/88] FROMGIT: net: stmmac: dwmac-meson8b: fix the RX delay
|
|
validation
|
|
|
|
When has_prg_eth1_rgmii_rx_delay is true then we support RX delays
|
|
between 0ps and 3000ps in 200ps steps. Swap the validation of the RX
|
|
delay based on the has_prg_eth1_rgmii_rx_delay flag so the 200ps check
|
|
is now applied correctly on G12A SoCs (instead of only allow 0ps or
|
|
2000ps on G12A, but 0..3000ps in 200ps steps on older SoCs which don't
|
|
support that).
|
|
|
|
Fixes: de94fc104d58ea ("net: stmmac: dwmac-meson8b: add support for the RGMII RX delay on G12A")
|
|
Reported-by: Martijn van Deventer <martijn@martijnvandeventer.nl>
|
|
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
|
---
|
|
drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c | 8 ++++----
|
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c
|
|
index 55152d7ba99a..848e5c37746b 100644
|
|
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c
|
|
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c
|
|
@@ -443,16 +443,16 @@ static int meson8b_dwmac_probe(struct platform_device *pdev)
|
|
}
|
|
|
|
if (dwmac->data->has_prg_eth1_rgmii_rx_delay) {
|
|
- if (dwmac->rx_delay_ps != 0 && dwmac->rx_delay_ps != 2000) {
|
|
+ if (dwmac->rx_delay_ps > 3000 || dwmac->rx_delay_ps % 200) {
|
|
dev_err(dwmac->dev,
|
|
- "The only allowed RGMII RX delays values are: 0ps, 2000ps");
|
|
+ "The RGMII RX delay range is 0..3000ps in 200ps steps");
|
|
ret = -EINVAL;
|
|
goto err_remove_config_dt;
|
|
}
|
|
} else {
|
|
- if (dwmac->rx_delay_ps > 3000 || dwmac->rx_delay_ps % 200) {
|
|
+ if (dwmac->rx_delay_ps != 0 && dwmac->rx_delay_ps != 2000) {
|
|
dev_err(dwmac->dev,
|
|
- "The RGMII RX delay range is 0..3000ps in 200ps steps");
|
|
+ "The only allowed RGMII RX delays values are: 0ps, 2000ps");
|
|
ret = -EINVAL;
|
|
goto err_remove_config_dt;
|
|
}
|
|
--
|
|
2.17.1
|
|
|