File tree Expand file tree Collapse file tree 4 files changed +14
-11
lines changed Expand file tree Collapse file tree 4 files changed +14
-11
lines changed Original file line number Diff line number Diff line change @@ -387,6 +387,10 @@ int xe_gt_init_early(struct xe_gt *gt)
387
387
xe_force_wake_init_gt (gt , gt_to_fw (gt ));
388
388
spin_lock_init (& gt -> global_invl_lock );
389
389
390
+ err = xe_gt_tlb_invalidation_init_early (gt );
391
+ if (err )
392
+ return err ;
393
+
390
394
return 0 ;
391
395
}
392
396
@@ -588,10 +592,6 @@ int xe_gt_init(struct xe_gt *gt)
588
592
xe_hw_fence_irq_init (& gt -> fence_irq [i ]);
589
593
}
590
594
591
- err = xe_gt_tlb_invalidation_init (gt );
592
- if (err )
593
- return err ;
594
-
595
595
err = xe_gt_pagefault_init (gt );
596
596
if (err )
597
597
return err ;
Original file line number Diff line number Diff line change @@ -122,10 +122,12 @@ void xe_gt_idle_enable_pg(struct xe_gt *gt)
122
122
if (!xe_gt_is_media_type (gt ))
123
123
gtidle -> powergate_enable |= RENDER_POWERGATE_ENABLE ;
124
124
125
- for (i = XE_HW_ENGINE_VCS0 , j = 0 ; i <= XE_HW_ENGINE_VCS7 ; ++ i , ++ j ) {
126
- if ((gt -> info .engine_mask & BIT (i )))
127
- gtidle -> powergate_enable |= (VDN_HCP_POWERGATE_ENABLE (j ) |
128
- VDN_MFXVDENC_POWERGATE_ENABLE (j ));
125
+ if (xe -> info .platform != XE_DG1 ) {
126
+ for (i = XE_HW_ENGINE_VCS0 , j = 0 ; i <= XE_HW_ENGINE_VCS7 ; ++ i , ++ j ) {
127
+ if ((gt -> info .engine_mask & BIT (i )))
128
+ gtidle -> powergate_enable |= (VDN_HCP_POWERGATE_ENABLE (j ) |
129
+ VDN_MFXVDENC_POWERGATE_ENABLE (j ));
130
+ }
129
131
}
130
132
131
133
fw_ref = xe_force_wake_get (gt_to_fw (gt ), XE_FW_GT );
Original file line number Diff line number Diff line change @@ -106,15 +106,15 @@ static void xe_gt_tlb_fence_timeout(struct work_struct *work)
106
106
}
107
107
108
108
/**
109
- * xe_gt_tlb_invalidation_init - Initialize GT TLB invalidation state
109
+ * xe_gt_tlb_invalidation_init_early - Initialize GT TLB invalidation state
110
110
* @gt: graphics tile
111
111
*
112
112
* Initialize GT TLB invalidation state, purely software initialization, should
113
113
* be called once during driver load.
114
114
*
115
115
* Return: 0 on success, negative error code on error.
116
116
*/
117
- int xe_gt_tlb_invalidation_init (struct xe_gt * gt )
117
+ int xe_gt_tlb_invalidation_init_early (struct xe_gt * gt )
118
118
{
119
119
gt -> tlb_invalidation .seqno = 1 ;
120
120
INIT_LIST_HEAD (& gt -> tlb_invalidation .pending_fences );
Original file line number Diff line number Diff line change @@ -14,7 +14,8 @@ struct xe_gt;
14
14
struct xe_guc ;
15
15
struct xe_vma ;
16
16
17
- int xe_gt_tlb_invalidation_init (struct xe_gt * gt );
17
+ int xe_gt_tlb_invalidation_init_early (struct xe_gt * gt );
18
+
18
19
void xe_gt_tlb_invalidation_reset (struct xe_gt * gt );
19
20
int xe_gt_tlb_invalidation_ggtt (struct xe_gt * gt );
20
21
int xe_gt_tlb_invalidation_vma (struct xe_gt * gt ,
You can’t perform that action at this time.
0 commit comments