On 10/25/25 23:35, Marek Vasut wrote:
> MMU region cache behavior configuration for SCMI/SMT mailboxes is
> platform specific. Even on ARM systems, the mailbox memory may not
> even be located in any cacheable MMU region and may instead reside
> in some SRAM. Remove this non-generic cache behavior configuration
> code from generic code path.
>
> It is unlikely that any platform is affected by this change if it
> did configure its MMU regions correctly on start up. Platforms
> which might be affected are i.MX94/95 and STM32MP.
>
> Fixes: 240720e9052f ("firmware: scmi: mailbox/smt agent device")
> Fixes: 2a3f161c8b16 ("scmi: correctly configure MMU for SCMI buffer")
> Fixes: b2ae10970d40 ("firmware: scmi: use PAGE_SIZE alignment for ARM64")
> Signed-off-by: Marek Vasut <[email protected]>
> ---
> Cc: Alice Guo <[email protected]>
> Cc: Etienne Carriere <[email protected]>
> Cc: Patrick Delaunay <[email protected]>
> Cc: Peng Fan <[email protected]>
> Cc: Tom Rini <[email protected]>
> Cc: Vinh Nguyen <[email protected]>
> Cc: Viorel Suman <[email protected]>
> Cc: Ye Li <[email protected]>
> Cc: [email protected]
> ---
> drivers/firmware/scmi/smt.c | 14 --------------
> 1 file changed, 14 deletions(-)
>
> diff --git a/drivers/firmware/scmi/smt.c b/drivers/firmware/scmi/smt.c
> index 237871559f0..cd1c0801f72 100644
> --- a/drivers/firmware/scmi/smt.c
> +++ b/drivers/firmware/scmi/smt.c
> @@ -61,20 +61,6 @@ int scmi_dt_get_smt_buffer(struct udevice *dev, struct
> scmi_smt *smt)
> if (device_is_compatible(dev, "arm,scmi") &&
> ofnode_has_property(dev_ofnode(dev), "mboxes"))
> scmi_smt_enable_intr(smt, true);
>
> -#ifdef CONFIG_ARM
> - if (dcache_status()) {
> - u32 align_size;
> -
> - if (IS_ENABLED(CONFIG_ARM64))
> - align_size = PAGE_SIZE;
> - else
> - align_size = MMU_SECTION_SIZE;
> -
> - mmu_set_region_dcache_behaviour(ALIGN_DOWN((uintptr_t)smt->buf,
> align_size),
> - ALIGN(smt->size, align_size),
> DCACHE_OFF);
> - }
> -#endif
> -
> return 0;
> }
>
Hi Marek
Tested-by: Patrice Chotard <[email protected]>
Tested on stm32mp257f-ev1 board.
Thanks
Patrice