summaryrefslogtreecommitdiff
path: root/mali_kbase
diff options
context:
space:
mode:
authorVarad Gautam <varadgautam@google.com>2023-03-31 14:02:53 +0000
committerVarad Gautam <varadgautam@google.com>2023-03-31 14:09:32 +0000
commit4425c9707d1865d49259b49774c4482be39fae84 (patch)
treedb0911c55c57d2d04ecf65712d418fa1a80ca1f4 /mali_kbase
parenta84b45557cc7e12d21a8caddd047140e3b4dbc47 (diff)
downloadgpu-4425c9707d1865d49259b49774c4482be39fae84.tar.gz
mali_kbase: reset: Add a helper to check GPU reset failure
Kbase upstreaming: Pending Change-Id: I867d64897785348d499ad4d9a4f4c95f95e8df85 Signed-off-by: Varad Gautam <varadgautam@google.com> Bug: 264595878
Diffstat (limited to 'mali_kbase')
-rw-r--r--mali_kbase/csf/mali_kbase_csf_reset_gpu.c5
-rw-r--r--mali_kbase/mali_kbase_reset_gpu.h8
2 files changed, 13 insertions, 0 deletions
diff --git a/mali_kbase/csf/mali_kbase_csf_reset_gpu.c b/mali_kbase/csf/mali_kbase_csf_reset_gpu.c
index 4d9cc99..74dcdc3 100644
--- a/mali_kbase/csf/mali_kbase_csf_reset_gpu.c
+++ b/mali_kbase/csf/mali_kbase_csf_reset_gpu.c
@@ -163,6 +163,11 @@ void kbase_reset_gpu_assert_failed_or_prevented(struct kbase_device *kbdev)
WARN_ON(kbase_reset_gpu_is_active(kbdev));
}
+bool kbase_reset_gpu_failed(struct kbase_device *kbdev)
+{
+ return (atomic_read(&kbdev->csf.reset.state) == KBASE_CSF_RESET_GPU_FAILED);
+}
+
/* Mark the reset as now happening, and synchronize with other threads that
* might be trying to access the GPU
*/
diff --git a/mali_kbase/mali_kbase_reset_gpu.h b/mali_kbase/mali_kbase_reset_gpu.h
index a78a75a..c0f20d5 100644
--- a/mali_kbase/mali_kbase_reset_gpu.h
+++ b/mali_kbase/mali_kbase_reset_gpu.h
@@ -144,6 +144,14 @@ void kbase_reset_gpu_assert_prevented(struct kbase_device *kbdev);
void kbase_reset_gpu_assert_failed_or_prevented(struct kbase_device *kbdev);
/**
+ * kbase_reset_gpu_failed - Return whether a previous GPU reset failed.
+ *
+ * @kbdev: Device pointer
+ *
+ */
+bool kbase_reset_gpu_failed(struct kbase_device *kbdev);
+
+/**
* RESET_FLAGS_NONE - Flags for kbase_prepare_to_reset_gpu
*/
#define RESET_FLAGS_NONE (0U)