forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-13 9d77db3c730780c8ef5ccd4b66403ff5675cfe4e
kernel/drivers/gpu/drm/i915/selftests/i915_sw_fence.c
....@@ -571,21 +571,27 @@
571571 unsigned long target, delay;
572572 struct timed_fence tf;
573573
574
+ preempt_disable();
574575 timed_fence_init(&tf, target = jiffies);
575576 if (!i915_sw_fence_done(&tf.fence)) {
576577 pr_err("Fence with immediate expiration not signaled\n");
577578 goto err;
578579 }
580
+ preempt_enable();
579581 timed_fence_fini(&tf);
580582
581583 for_each_prime_number(delay, i915_selftest.timeout_jiffies/2) {
584
+ preempt_disable();
582585 timed_fence_init(&tf, target = jiffies + delay);
583586 if (i915_sw_fence_done(&tf.fence)) {
584587 pr_err("Fence with future expiration (%lu jiffies) already signaled\n", delay);
585588 goto err;
586589 }
590
+ preempt_enable();
587591
588592 i915_sw_fence_wait(&tf.fence);
593
+
594
+ preempt_disable();
589595 if (!i915_sw_fence_done(&tf.fence)) {
590596 pr_err("Fence not signaled after wait\n");
591597 goto err;
....@@ -595,13 +601,14 @@
595601 target, jiffies);
596602 goto err;
597603 }
598
-
604
+ preempt_enable();
599605 timed_fence_fini(&tf);
600606 }
601607
602608 return 0;
603609
604610 err:
611
+ preempt_enable();
605612 timed_fence_fini(&tf);
606613 return -EINVAL;
607614 }
....@@ -611,17 +618,9 @@
611618 return "mock";
612619 }
613620
614
-static bool mock_enable_signaling(struct dma_fence *fence)
615
-{
616
- return true;
617
-}
618
-
619621 static const struct dma_fence_ops mock_fence_ops = {
620622 .get_driver_name = mock_name,
621623 .get_timeline_name = mock_name,
622
- .enable_signaling = mock_enable_signaling,
623
- .wait = dma_fence_default_wait,
624
- .release = dma_fence_free,
625624 };
626625
627626 static DEFINE_SPINLOCK(mock_fence_lock);