On 6/10/24 12:39, Marek Vasut wrote:
On 6/10/24 9:14 AM, Christophe Roullier wrote:
[...]
static int stm32mp1_set_mode(struct plat_stmmacenet_data *plat_dat)
@@ -303,7 +307,7 @@ static int stm32mcu_set_mode(struct
plat_stmmacenet_data *plat_dat)
dev_dbg(dwmac->dev, "Mode %s",
phy_modes(plat_dat->mac_interface));
return regmap_update_bits(dwmac->regmap, reg,
- dwmac->ops->syscfg_eth_mask, val << 23);
+ SYSCFG_MCU_ETH_MASK, val << 23);
}
static void stm32_dwmac_clk_disable(struct stm32_dwmac *dwmac,
bool suspend)
@@ -348,8 +352,15 @@ static int stm32_dwmac_parse_data(struct
stm32_dwmac *dwmac,
return PTR_ERR(dwmac->regmap);
err = of_property_read_u32_index(np, "st,syscon", 1,
&dwmac->mode_reg);
- if (err)
+ if (err) {
dev_err(dev, "Can't get sysconfig mode offset (%d)\n", err);
+ return err;
+ }
+
+ dwmac->mode_mask = SYSCFG_MP1_ETH_MASK;
+ err = of_property_read_u32_index(np, "st,syscon", 2,
&dwmac->mode_mask);
+ if (err)
+ dev_dbg(dev, "Warning sysconfig register mask not set\n");
Isn't this an error , so dev_err() ?
No, it is only "warning" information, for MP1 the mask is not needed
(and for backward compatibility is not planned to put mask parameter
mandatory)
Include the err variable in the error message, see the dev_err() above
for an example. That way the log already contains useful information
(the error code) that can be used to narrow down the problem.