File tree Expand file tree Collapse file tree 1 file changed +3
-5
lines changed Expand file tree Collapse file tree 1 file changed +3
-5
lines changed Original file line number Diff line number Diff line change @@ -515,6 +515,7 @@ static void __i915_guc_submit(struct drm_i915_gem_request *rq)
515
515
unsigned int engine_id = engine -> id ;
516
516
struct intel_guc * guc = & rq -> i915 -> guc ;
517
517
struct i915_guc_client * client = guc -> execbuf_client ;
518
+ unsigned long flags ;
518
519
int b_ret ;
519
520
520
521
/* WA to flush out the pending GMADR writes to ring buffer. */
@@ -523,10 +524,7 @@ static void __i915_guc_submit(struct drm_i915_gem_request *rq)
523
524
524
525
trace_i915_gem_request_in (rq , 0 );
525
526
526
- /* We are always called with irqs disabled */
527
- GEM_BUG_ON (!irqs_disabled ());
528
-
529
- spin_lock (& client -> wq_lock );
527
+ spin_lock_irqsave (& client -> wq_lock , flags );
530
528
531
529
guc_wq_item_append (client , rq );
532
530
b_ret = guc_ring_doorbell (client );
@@ -539,7 +537,7 @@ static void __i915_guc_submit(struct drm_i915_gem_request *rq)
539
537
guc -> submissions [engine_id ] += 1 ;
540
538
guc -> last_seqno [engine_id ] = rq -> global_seqno ;
541
539
542
- spin_unlock (& client -> wq_lock );
540
+ spin_unlock_irqrestore (& client -> wq_lock , flags );
543
541
}
544
542
545
543
static void i915_guc_submit (struct drm_i915_gem_request * rq )
You can’t perform that action at this time.
0 commit comments