From 53cf91d151d1e3d289917b63cf17ca254674f1ce Mon Sep 17 00:00:00 2001
From: Fernando Sahmkow <fsahmkow27@gmail.com>
Date: Sat, 16 Oct 2021 00:20:19 +0200
Subject: NvHost/Core: Address Feedback.

---
 src/core/core.cpp | 34 +++++++++++++++++++---------------
 1 file changed, 19 insertions(+), 15 deletions(-)

(limited to 'src/core/core.cpp')

diff --git a/src/core/core.cpp b/src/core/core.cpp
index 4abf037e29..3042d611b6 100644
--- a/src/core/core.cpp
+++ b/src/core/core.cpp
@@ -163,19 +163,19 @@ struct System::Impl {
         return status;
     }
 
-    void stallForGPU(bool pause) {
-        if (pause) {
-            suspend_guard.lock();
-            kernel.Suspend(pause);
-            core_timing.SyncPause(pause);
-            cpu_manager.Pause(pause);
-        } else {
-            if (!is_paused) {
-                core_timing.SyncPause(pause);
-                kernel.Suspend(pause);
-                cpu_manager.Pause(pause);
-            }
-            suspend_guard.unlock();
+    std::unique_lock<std::mutex> StallCPU() {
+        std::unique_lock<std::mutex> lk(suspend_guard);
+        kernel.Suspend(true);
+        core_timing.SyncPause(true);
+        cpu_manager.Pause(true);
+        return lk;
+    }
+
+    void UnstallCPU() {
+        if (!is_paused) {
+            core_timing.SyncPause(false);
+            kernel.Suspend(false);
+            cpu_manager.Pause(false);
         }
     }
 
@@ -487,8 +487,12 @@ void System::Shutdown() {
     impl->Shutdown();
 }
 
-void System::stallForGPU(bool pause) {
-    impl->stallForGPU(pause);
+std::unique_lock<std::mutex> System::StallCPU() {
+    return impl->StallCPU();
+}
+
+void System::UnstallCPU() {
+    impl->UnstallCPU();
 }
 
 SystemResultStatus System::Load(Frontend::EmuWindow& emu_window, const std::string& filepath,
-- 
cgit v1.2.3-70-g09d2