From 01573e231f18eb2d99162747186f59511f56b64d Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Fri, 08 Dec 2023 10:40:48 +0000
Subject: [PATCH] 移去rt

---
 kernel/drivers/gpu/drm/virtio/virtgpu_fence.c |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/kernel/drivers/gpu/drm/virtio/virtgpu_fence.c b/kernel/drivers/gpu/drm/virtio/virtgpu_fence.c
index 6dce548..5b2a414 100644
--- a/kernel/drivers/gpu/drm/virtio/virtgpu_fence.c
+++ b/kernel/drivers/gpu/drm/virtio/virtgpu_fence.c
@@ -23,9 +23,12 @@
  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
-#include <drm/drmP.h>
 #include <trace/events/dma_fence.h>
+
 #include "virtgpu_drv.h"
+
+#define to_virtio_fence(x) \
+	container_of(x, struct virtio_gpu_fence, f)
 
 static const char *virtio_get_driver_name(struct dma_fence *f)
 {
@@ -37,10 +40,14 @@
 	return "controlq";
 }
 
-bool virtio_fence_signaled(struct dma_fence *f)
+static bool virtio_fence_signaled(struct dma_fence *f)
 {
 	struct virtio_gpu_fence *fence = to_virtio_fence(f);
 
+	if (WARN_ON_ONCE(fence->f.seqno == 0))
+		/* leaked fence outside driver before completing
+		 * initialization with virtio_gpu_fence_emit */
+		return false;
 	if (atomic64_read(&fence->drv->last_seq) >= fence->f.seqno)
 		return true;
 	return false;
@@ -48,7 +55,7 @@
 
 static void virtio_fence_value_str(struct dma_fence *f, char *str, int size)
 {
-	snprintf(str, size, "%llu", (long long unsigned int) f->seqno);
+	snprintf(str, size, "%llu", f->seqno);
 }
 
 static void virtio_timeline_value_str(struct dma_fence *f, char *str, int size)

--
Gitblit v1.6.2