|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH] xen/arm: Enhance IPMMU-VMSA driver robustness and debug output
- 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.zg@xxxxxxxxxxx>
---
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);
ipmmu_tlb_sync(domain);
}
@@ -780,6 +782,8 @@ static void ipmmu_device_reset(struct ipmmu_vmsa_device
*mmu)
/* Disable all contexts. */
for ( i = 0; i < mmu->num_ctx; ++i )
ipmmu_ctx_write(mmu, i, IMCTR, 0);
+
+ dev_info(mmu->dev, "Reset completed, disabled %u contexts\n",
mmu->num_ctx);
}
/* R-Car Gen3/Gen4 SoCs product and cut information. */
--
2.34.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |