mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-27 13:45:13 +07:00
net: stmmac: fix csr_clk can't be zero issue
The specific clk_csr value can be zero, and
stmmac_clk is necessary for MDC clock which can be set dynamically.
So, change the condition from plat->clk_csr to plat->stmmac_clk to
fix clk_csr can't be zero issue.
Fixes: cd7201f477
("stmmac: MDC clock dynamically based on the csr clock input")
Signed-off-by: Biao Huang <biao.huang@mediatek.com>
Acked-by: Alexandre TORGUE <alexandre.torgue@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
4523a56115
commit
5e7f7fc538
@ -4380,10 +4380,10 @@ int stmmac_dvr_probe(struct device *device,
|
|||||||
* set the MDC clock dynamically according to the csr actual
|
* set the MDC clock dynamically according to the csr actual
|
||||||
* clock input.
|
* clock input.
|
||||||
*/
|
*/
|
||||||
if (!priv->plat->clk_csr)
|
if (priv->plat->clk_csr >= 0)
|
||||||
stmmac_clk_csr_set(priv);
|
|
||||||
else
|
|
||||||
priv->clk_csr = priv->plat->clk_csr;
|
priv->clk_csr = priv->plat->clk_csr;
|
||||||
|
else
|
||||||
|
stmmac_clk_csr_set(priv);
|
||||||
|
|
||||||
stmmac_check_pcs_mode(priv);
|
stmmac_check_pcs_mode(priv);
|
||||||
|
|
||||||
|
@ -408,7 +408,10 @@ stmmac_probe_config_dt(struct platform_device *pdev, const char **mac)
|
|||||||
/* Default to phy auto-detection */
|
/* Default to phy auto-detection */
|
||||||
plat->phy_addr = -1;
|
plat->phy_addr = -1;
|
||||||
|
|
||||||
/* Get clk_csr from device tree */
|
/* Default to get clk_csr from stmmac_clk_crs_set(),
|
||||||
|
* or get clk_csr from device tree.
|
||||||
|
*/
|
||||||
|
plat->clk_csr = -1;
|
||||||
of_property_read_u32(np, "clk_csr", &plat->clk_csr);
|
of_property_read_u32(np, "clk_csr", &plat->clk_csr);
|
||||||
|
|
||||||
/* "snps,phy-addr" is not a standard property. Mark it as deprecated
|
/* "snps,phy-addr" is not a standard property. Mark it as deprecated
|
||||||
|
Loading…
Reference in New Issue
Block a user