summaryrefslogtreecommitdiff
path: root/mali_kbase
diff options
context:
space:
mode:
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)