[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 |