@@ -90,11 +90,10 @@ static int emit_flush_dw(u32 *dw, int i)
90
90
return i ;
91
91
}
92
92
93
- static int emit_flush_imm_ggtt (u32 addr , u32 value , bool invalidate_tlb ,
94
- u32 * dw , int i )
93
+ static int emit_flush_imm_ggtt (u32 addr , u32 value , u32 flags , u32 * dw , int i )
95
94
{
96
95
dw [i ++ ] = MI_FLUSH_DW | MI_FLUSH_DW_OP_STOREDW | MI_FLUSH_IMM_DW |
97
- ( invalidate_tlb ? MI_INVALIDATE_TLB : 0 ) ;
96
+ flags ;
98
97
dw [i ++ ] = addr | MI_FLUSH_DW_USE_GTT ;
99
98
dw [i ++ ] = 0 ;
100
99
dw [i ++ ] = value ;
@@ -254,7 +253,7 @@ static void __emit_job_gen12_simple(struct xe_sched_job *job, struct xe_lrc *lrc
254
253
if (job -> ring_ops_flush_tlb ) {
255
254
dw [i ++ ] = preparser_disable (true);
256
255
i = emit_flush_imm_ggtt (xe_lrc_start_seqno_ggtt_addr (lrc ),
257
- seqno , true , dw , i );
256
+ seqno , MI_INVALIDATE_TLB , dw , i );
258
257
dw [i ++ ] = preparser_disable (false);
259
258
} else {
260
259
i = emit_store_imm_ggtt (xe_lrc_start_seqno_ggtt_addr (lrc ),
@@ -270,7 +269,7 @@ static void __emit_job_gen12_simple(struct xe_sched_job *job, struct xe_lrc *lrc
270
269
dw , i );
271
270
}
272
271
273
- i = emit_flush_imm_ggtt (xe_lrc_seqno_ggtt_addr (lrc ), seqno , false , dw , i );
272
+ i = emit_flush_imm_ggtt (xe_lrc_seqno_ggtt_addr (lrc ), seqno , 0 , dw , i );
274
273
275
274
i = emit_user_interrupt (dw , i );
276
275
@@ -316,7 +315,7 @@ static void __emit_job_gen12_video(struct xe_sched_job *job, struct xe_lrc *lrc,
316
315
317
316
if (job -> ring_ops_flush_tlb )
318
317
i = emit_flush_imm_ggtt (xe_lrc_start_seqno_ggtt_addr (lrc ),
319
- seqno , true , dw , i );
318
+ seqno , MI_INVALIDATE_TLB , dw , i );
320
319
321
320
dw [i ++ ] = preparser_disable (false);
322
321
@@ -333,7 +332,7 @@ static void __emit_job_gen12_video(struct xe_sched_job *job, struct xe_lrc *lrc,
333
332
dw , i );
334
333
}
335
334
336
- i = emit_flush_imm_ggtt (xe_lrc_seqno_ggtt_addr (lrc ), seqno , false , dw , i );
335
+ i = emit_flush_imm_ggtt (xe_lrc_seqno_ggtt_addr (lrc ), seqno , 0 , dw , i );
337
336
338
337
i = emit_user_interrupt (dw , i );
339
338
0 commit comments