aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/i915/selftests/mock_engine.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/drivers/gpu/drm/i915/selftests/mock_engine.c b/drivers/gpu/drm/i915/selftests/mock_engine.c
index 8b8d51af7d6a..442ec2aeec81 100644
--- a/drivers/gpu/drm/i915/selftests/mock_engine.c
+++ b/drivers/gpu/drm/i915/selftests/mock_engine.c
@@ -67,11 +67,10 @@ static struct mock_request *first_request(struct mock_engine *engine)
67 link); 67 link);
68} 68}
69 69
70static void advance(struct mock_engine *engine, 70static void advance(struct mock_request *request)
71 struct mock_request *request)
72{ 71{
73 list_del_init(&request->link); 72 list_del_init(&request->link);
74 mock_seqno_advance(&engine->base, request->base.global_seqno); 73 mock_seqno_advance(request->base.engine, request->base.global_seqno);
75} 74}
76 75
77static void hw_delay_complete(struct timer_list *t) 76static void hw_delay_complete(struct timer_list *t)
@@ -84,7 +83,7 @@ static void hw_delay_complete(struct timer_list *t)
84 /* Timer fired, first request is complete */ 83 /* Timer fired, first request is complete */
85 request = first_request(engine); 84 request = first_request(engine);
86 if (request) 85 if (request)
87 advance(engine, request); 86 advance(request);
88 87
89 /* 88 /*
90 * Also immediately signal any subsequent 0-delay requests, but 89 * Also immediately signal any subsequent 0-delay requests, but
@@ -96,7 +95,7 @@ static void hw_delay_complete(struct timer_list *t)
96 break; 95 break;
97 } 96 }
98 97
99 advance(engine, request); 98 advance(request);
100 } 99 }
101 100
102 spin_unlock(&engine->hw_lock); 101 spin_unlock(&engine->hw_lock);
@@ -180,7 +179,7 @@ static void mock_submit_request(struct i915_request *request)
180 if (mock->delay) 179 if (mock->delay)
181 mod_timer(&engine->hw_delay, jiffies + mock->delay); 180 mod_timer(&engine->hw_delay, jiffies + mock->delay);
182 else 181 else
183 advance(engine, mock); 182 advance(mock);
184 } 183 }
185 spin_unlock_irq(&engine->hw_lock); 184 spin_unlock_irq(&engine->hw_lock);
186} 185}
@@ -240,10 +239,8 @@ void mock_engine_flush(struct intel_engine_cs *engine)
240 del_timer_sync(&mock->hw_delay); 239 del_timer_sync(&mock->hw_delay);
241 240
242 spin_lock_irq(&mock->hw_lock); 241 spin_lock_irq(&mock->hw_lock);
243 list_for_each_entry_safe(request, rn, &mock->hw_queue, link) { 242 list_for_each_entry_safe(request, rn, &mock->hw_queue, link)
244 list_del_init(&request->link); 243 advance(request);
245 mock_seqno_advance(&mock->base, request->base.global_seqno);
246 }
247 spin_unlock_irq(&mock->hw_lock); 244 spin_unlock_irq(&mock->hw_lock);
248} 245}
249 246