On 20/06/2025 12:31, Jahan Murudi wrote:
> - Fix typo in source comment ("you can found" -> "which can be found").
> - Add dsb(sy) after IMCTR write to ensure flush is complete before polling.
> - Add dev_info() log in ipmmu_device_reset() to indicate the number of
> disabled contexts.
>
> These changes improve memory operation ordering, code readability, and
> runtime traceability
> for IPMMU on R-Car Gen3/Gen4 SoCs
>
> Signed-off-by: Jahan Murudi <jahan.murudi...@renesas.com>
Acked-by: Michal Orzel <michal.or...@amd.com>
> ---
> xen/drivers/passthrough/arm/ipmmu-vmsa.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/xen/drivers/passthrough/arm/ipmmu-vmsa.c
> b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
> index d828d9cf6a..dac0dd6d46 100644
> --- a/xen/drivers/passthrough/arm/ipmmu-vmsa.c
> +++ b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
> @@ -13,7 +13,7 @@
> *
> * Based on Linux's IPMMU-VMSA driver from Renesas BSP:
> * drivers/iommu/ipmmu-vmsa.c
> - * you can found at:
> + * which can be found at:
> * url:
> git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas-bsp.git
> * branch: v4.14.75-ltsi/rcar-3.9.6
> * commit: e206eb5b81a60e64c35fbc3a999b1a0db2b98044
> @@ -433,6 +433,8 @@ static void ipmmu_tlb_invalidate(struct ipmmu_vmsa_domain
> *domain)
> data |= IMCTR_FLUSH;
> ipmmu_ctx_write_all(domain, IMCTR, data);
>
> + /* Force IMCTR write to complete before polling to avoid false
> completion check. */
> + dsb(sy);
Any clue why Linux (mainline) does not do that?
~Michal