summaryrefslogtreecommitdiff
path: root/drivers/misc/habanalabs/gaudi/gaudi.c
diff options
context:
space:
mode:
authorDani Liberman <dliberman@habana.ai>2022-09-18 21:37:31 +0300
committerOded Gabbay <ogabbay@kernel.org>2022-11-23 16:13:40 +0200
commitdd600db47ba60c3c69d4d24c73c43133c6040118 (patch)
treec7083ee205a74e46f06d905431b402803ea2bfdc /drivers/misc/habanalabs/gaudi/gaudi.c
parent6d1c567f2ac66391edf5423247f27c82f6b82d86 (diff)
downloadlinux-dd600db47ba60c3c69d4d24c73c43133c6040118.tar.gz
habanalabs: add page fault info uapi
Only the first page fault will be saved. Besides the address which caused the page fault, the driver captures all of the mmu user mappings. User can retrieve this data via the new uapi (new opcode in INFO ioctl). Signed-off-by: Dani Liberman <dliberman@habana.ai> Reviewed-by: Oded Gabbay <ogabbay@kernel.org> Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
Diffstat (limited to 'drivers/misc/habanalabs/gaudi/gaudi.c')
-rw-r--r--drivers/misc/habanalabs/gaudi/gaudi.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/misc/habanalabs/gaudi/gaudi.c b/drivers/misc/habanalabs/gaudi/gaudi.c
index f856ac51fde1..1a99f7be8b60 100644
--- a/drivers/misc/habanalabs/gaudi/gaudi.c
+++ b/drivers/misc/habanalabs/gaudi/gaudi.c
@@ -6755,6 +6755,8 @@ static void gaudi_print_and_get_mmu_error_info(struct hl_device *hdev, u64 *addr
*addr |= RREG32(mmMMU_UP_PAGE_ERROR_CAPTURE_VA);
dev_err_ratelimited(hdev->dev, "MMU page fault on va 0x%llx\n", *addr);
+ hl_capture_page_fault(hdev, *addr, 0, true);
+
WREG32(mmMMU_UP_PAGE_ERROR_CAPTURE, 0);
}