A new sequence is introduced to invalidate the MMU cache in order to avoid
timeouts.
Signed-off-by: Omer Shpigelman <oshpigelman@habana.ai>
Reviewed-by: Oded Gabbay <oded.gabbay@gmail.com>
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
timeout_usec = MMU_CONFIG_TIMEOUT_USEC;
/* L0 & L1 invalidation */
- WREG32(mmSTLB_INV_ALL_START, 1);
+ WREG32(mmSTLB_INV_PS, 2);
rc = hl_poll_timeout(
hdev,
- mmSTLB_INV_ALL_START,
+ mmSTLB_INV_PS,
status,
!status,
1000,
timeout_usec);
+ WREG32(mmSTLB_INV_SET, 0);
+
if (rc)
dev_notice_ratelimited(hdev->dev,
"Timeout when waiting for MMU cache invalidation\n");