hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/net/ethernet/stmicro/stmmac/dwmac-stm32.c
....@@ -105,6 +105,7 @@
105105 int (*parse_data)(struct stm32_dwmac *dwmac,
106106 struct device *dev);
107107 u32 syscfg_eth_mask;
108
+ bool clk_rx_enable_in_suspend;
108109 };
109110
110111 static int stm32_dwmac_init(struct plat_stmmacenet_data *plat_dat)
....@@ -122,7 +123,8 @@
122123 if (ret)
123124 return ret;
124125
125
- if (!dwmac->dev->power.is_suspended) {
126
+ if (!dwmac->ops->clk_rx_enable_in_suspend ||
127
+ !dwmac->dev->power.is_suspended) {
126128 ret = clk_prepare_enable(dwmac->clk_rx);
127129 if (ret) {
128130 clk_disable_unprepare(dwmac->clk_tx);
....@@ -515,7 +517,8 @@
515517 .suspend = stm32mp1_suspend,
516518 .resume = stm32mp1_resume,
517519 .parse_data = stm32mp1_parse_data,
518
- .syscfg_eth_mask = SYSCFG_MP1_ETH_MASK
520
+ .syscfg_eth_mask = SYSCFG_MP1_ETH_MASK,
521
+ .clk_rx_enable_in_suspend = true
519522 };
520523
521524 static const struct of_device_id stm32_dwmac_match[] = {