Re: [net-next,PATCH v6 7/8] net: stmmac: dwmac-stm32: Mask support for PMCR configuration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 6/10/24 3:49 PM, Christophe ROULLIER wrote:

On 6/10/24 15:43, Marek Vasut wrote:
On 6/10/24 1:45 PM, Christophe ROULLIER wrote:

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)

Should this be an error for anything newer than MP15 then ?
For MP25, no need of mask, so for moment it is specific to MP13.

Make this a warning for MP15, error for MP13, do not check st,syscon presence for MP2 at all. Would that work ?




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux