Hi Carlos,
Thanks for the response. In answer to your questions:
1) We're using a custom board with the S32G device being provided by a module from MicroSys.
2) We're using IPCF 4.9.0 from here: https://github.com/nxp-auto-linux/ipc-shm/tree/release/SW32G_IPCF_4.9.0_D2310
3) We're using BSP 36.0 (Provided in a package from MicroSys)
4) We're using the version of U-Boot provided by MicroSys which I believe is based on BSP 36.0
With reference to the IPCF user manual, could you please provide a link to the latest version ? Searching on nxp.com doesn't yield any results.
On the M7 side of things, I can see in the function ipc_shm_unmanaged_tx() the following:
/* flush and invalidate dcache */
ipc_hw_flush_cache_local(instance);
ipc_hw_flush_cache_remote(instance);
D_CACHE_ENABLE is defined at compile time
So I believe the cache is being invalidated before tx, at least on the M7 side of things.
Actually testing with dcache on added after the M7 application has started seems to work ok and performance is significantly better, we're just concerned that we've missed something that could come back to bite us at a later date!