On Mon, May 25, 2026 at 09:50:50PM -0700, Tony Dinh wrote: > Hi Ben, > > This problem sounds familiar. Perhaps Tom can explain this. I recall a > patch recently related to DEVRES. > > Commit 217cf65 > dm: core: Default to using DEVRES outside of xPL
Looking at: commit 2e6b5185bd509d5c39bbdf900bf6ac9c12f2ed59 Author: Jamie Gibbons <[email protected]> Date: Tue Jan 20 15:33:13 2026 +0000 configs: microchip_mpfs_generic: fix boot failure Recent changes to device resource management (DEVRES) increased early memory requirements during boot. The previous value was insufficient, resulting in boot failures. Increase CONFIG_SYS_MALLOC_F_LEN to provide enough early malloc pool for successful boot and device initialisation. Signed-off-by: Jamie Gibbons <[email protected]> diff --git a/configs/microchip_mpfs_generic_defconfig b/configs/microchip_mpfs_generic_defconfig index 22f67414a7c7..973ed09fa875 100644 --- a/configs/microchip_mpfs_generic_defconfig +++ b/configs/microchip_mpfs_generic_defconfig @@ -1,6 +1,6 @@ CONFIG_RISCV=y CONFIG_SYS_MALLOC_LEN=0x800000 -CONFIG_SYS_MALLOC_F_LEN=0x2000 +CONFIG_SYS_MALLOC_F_LEN=0x2800 CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80200000 CONFIG_ENV_SIZE=0x2000 May also help > > Added Tom. > > All the best, > Tony > > On Sun, May 24, 2026 at 6:21 PM Ben Schneider <[email protected]> wrote: > > > > Hi Stefan, > > > > On Monday, May 11th, 2026 at 12:45 PM, Tony Dinh <[email protected]> wrote: > > > > > Added Stefan (MVEBU SoC maintainer). > > > > > > > The first commit to cause problems is actually 217cf65 dm: > > core: Default to using DEVRES outside of xPL. > > > > After a lot of testing, I think I've traced the issue to > > drivers/pinctrl/mvebu/pinctrl-armada-37xx.c. There are two calls > > to devm_kzalloc that, when I change to kzalloc and remove the dev > > argument, my device boots again. > > > > --- a/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c > > +++ b/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c > > @@ -523,8 +523,7 @@ static int armada_37xx_fill_func(struct > > armada_37xx_pinctrl *info) > > const char **groups; > > int g; > > > > - funcs[n].groups = devm_kzalloc(info->dev, funcs[n].ngroups * > > - sizeof(*(funcs[n].groups)), > > + funcs[n].groups = kzalloc(funcs[n].ngroups * > > sizeof(*(funcs[n].groups)), > > GFP_KERNEL); > > if (!funcs[n].groups) > > return -ENOMEM; > > @@ -724,7 +723,7 @@ static int armada_37xx_pinctrl_probe(struct udevice > > *dev) > > * we allocate functions for number of pins and hope there are > > * fewer unique functions than pins available > > */ > > - info->funcs = devm_kzalloc(info->dev, pin_data->nr_pins * > > + info->funcs = kzalloc(pin_data->nr_pins * > > sizeof(struct armada_37xx_pmx_func), GFP_KERNEL); > > if (!info->funcs) > > return -ENOMEM; > > > > I cannot explain why these changes resolve the issue so I'd > > appreciate if someone more knowledgeable would review. > > I'm also happy to test other proposed solutions. Thank you! > > > > Ben -- Tom
signature.asc
Description: PGP signature

