summaryrefslogtreecommitdiff
path: root/drivers/accel/ivpu/ivpu_mmu_context.h
diff options
context:
space:
mode:
authorKarol Wachowski <karol.wachowski@linux.intel.com>2023-09-01 12:49:52 +0300
committerStanislaw Gruszka <stanislaw.gruszka@linux.intel.com>2023-09-04 12:01:26 +0300
commit34d03f2a174dce5ad7c2c1149127abddb75ac713 (patch)
tree2b763187245363d5f921e7c0719be2e63571883a /drivers/accel/ivpu/ivpu_mmu_context.h
parentedee62c0852aa7e107b9e9e7f1b3669a8d293ca2 (diff)
downloadlinux-34d03f2a174dce5ad7c2c1149127abddb75ac713.tar.xz
accel/ivpu: Initialize context with SSID = 1
Context with SSID = 1 is reserved and accesses on that context happen only when context is uninitialized on the VPU side. Such access triggers MMU fault (0xa) "Invalid CD Fetch", which doesn't contain any useful information besides context ID. This commit will change that state, now (0x10) "Translation fault" will be triggered and accessed address will shown in the log. Signed-off-by: Karol Wachowski <karol.wachowski@linux.intel.com> Reviewed-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com> Reviewed-by: Jeffrey Hugo <quic_jhugo@quicinc.com> Signed-off-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230901094957.168898-7-stanislaw.gruszka@linux.intel.com
Diffstat (limited to 'drivers/accel/ivpu/ivpu_mmu_context.h')
-rw-r--r--drivers/accel/ivpu/ivpu_mmu_context.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/accel/ivpu/ivpu_mmu_context.h b/drivers/accel/ivpu/ivpu_mmu_context.h
index 961a0d6a6c7f..f15d8c630d8a 100644
--- a/drivers/accel/ivpu/ivpu_mmu_context.h
+++ b/drivers/accel/ivpu/ivpu_mmu_context.h
@@ -32,6 +32,8 @@ struct ivpu_mmu_context {
int ivpu_mmu_global_context_init(struct ivpu_device *vdev);
void ivpu_mmu_global_context_fini(struct ivpu_device *vdev);
+int ivpu_mmu_reserved_context_init(struct ivpu_device *vdev);
+void ivpu_mmu_reserved_context_fini(struct ivpu_device *vdev);
int ivpu_mmu_user_context_init(struct ivpu_device *vdev, struct ivpu_mmu_context *ctx, u32 ctx_id);
void ivpu_mmu_user_context_fini(struct ivpu_device *vdev, struct ivpu_mmu_context *ctx);