MALI: rockchip: upgrade DDK to r8p0-02rel0.
[firefly-linux-kernel-4.4.55.git] / drivers / gpu / arm / midgard / mali_kbase_debug_job_fault.c
index 41ce05130d8f9636d54d9044abdc2919db8c42d5..a6ddaa0af7c67c6cb6a807e4c5f89214d14c21c0 100644 (file)
@@ -386,7 +386,18 @@ static const struct file_operations kbasep_debug_job_fault_fops = {
        .release = debug_job_fault_release,
 };
 
-static int kbase_job_fault_event_init(struct kbase_device *kbdev)
+/*
+ *  Initialize debugfs entry for job fault dump
+ */
+void kbase_debug_job_fault_debugfs_init(struct kbase_device *kbdev)
+{
+       debugfs_create_file("job_fault", S_IRUGO,
+                       kbdev->mali_debugfs_directory, kbdev,
+                       &kbasep_debug_job_fault_fops);
+}
+
+
+int kbase_debug_job_fault_dev_init(struct kbase_device *kbdev)
 {
 
        INIT_LIST_HEAD(&kbdev->job_fault_event_list);
@@ -396,24 +407,23 @@ static int kbase_job_fault_event_init(struct kbase_device *kbdev)
 
        kbdev->job_fault_resume_workq = alloc_workqueue(
                        "kbase_job_fault_resume_work_queue", WQ_MEM_RECLAIM, 1);
+       if (!kbdev->job_fault_resume_workq)
+               return -ENOMEM;
+
+       kbdev->job_fault_debug = false;
 
        return 0;
 }
 
 /*
- *  Initialize debugfs entry for job fault dump
+ * Release the relevant resource per device
  */
-void kbase_debug_job_fault_dev_init(struct kbase_device *kbdev)
+void kbase_debug_job_fault_dev_term(struct kbase_device *kbdev)
 {
-       debugfs_create_file("job_fault", S_IRUGO,
-                       kbdev->mali_debugfs_directory, kbdev,
-                       &kbasep_debug_job_fault_fops);
-
-       kbase_job_fault_event_init(kbdev);
-       kbdev->job_fault_debug = false;
-
+       destroy_workqueue(kbdev->job_fault_resume_workq);
 }
 
+
 /*
  *  Initialize the relevant data structure per context
  */
@@ -439,9 +449,22 @@ void kbase_debug_job_fault_context_init(struct kbase_context *kctx)
 /*
  *  release the relevant resource per context
  */
-void kbase_debug_job_fault_context_exit(struct kbase_context *kctx)
+void kbase_debug_job_fault_context_term(struct kbase_context *kctx)
 {
        kfree(kctx->reg_dump);
 }
 
-#endif
+#else /* CONFIG_DEBUG_FS */
+
+int kbase_debug_job_fault_dev_init(struct kbase_device *kbdev)
+{
+       kbdev->job_fault_debug = false;
+
+       return 0;
+}
+
+void kbase_debug_job_fault_dev_term(struct kbase_device *kbdev)
+{
+}
+
+#endif /* CONFIG_DEBUG_FS */