Lines Matching full:gt

35 void xe_force_wake_init_gt(struct xe_gt *gt, struct xe_force_wake *fw)  in xe_force_wake_init_gt()  argument
37 struct xe_device *xe = gt_to_xe(gt); in xe_force_wake_init_gt()
39 fw->gt = gt; in xe_force_wake_init_gt()
43 xe_gt_assert(gt, GRAPHICS_VER(gt_to_xe(gt)) >= 11); in xe_force_wake_init_gt()
58 void xe_force_wake_init_engines(struct xe_gt *gt, struct xe_force_wake *fw) in xe_force_wake_init_engines() argument
63 xe_gt_assert(gt, GRAPHICS_VER(gt_to_xe(gt)) >= 11); in xe_force_wake_init_engines()
65 if (!xe_gt_is_media_type(gt)) in xe_force_wake_init_engines()
72 if (!(gt->info.engine_mask & BIT(i))) in xe_force_wake_init_engines()
82 if (!(gt->info.engine_mask & BIT(i))) in xe_force_wake_init_engines()
91 if (gt->info.engine_mask & BIT(XE_HW_ENGINE_GSCCS0)) in xe_force_wake_init_engines()
98 static void __domain_ctl(struct xe_gt *gt, struct xe_force_wake_domain *domain, bool wake) in __domain_ctl() argument
100 if (IS_SRIOV_VF(gt_to_xe(gt))) in __domain_ctl()
103 xe_mmio_write32(gt, domain->reg_ctl, domain->mask | (wake ? domain->val : 0)); in __domain_ctl()
106 static int __domain_wait(struct xe_gt *gt, struct xe_force_wake_domain *domain, bool wake) in __domain_wait() argument
111 if (IS_SRIOV_VF(gt_to_xe(gt))) in __domain_wait()
114 ret = xe_mmio_wait32(gt, domain->reg_ack, domain->val, wake ? domain->val : 0, in __domain_wait()
118 xe_gt_notice(gt, "Force wake domain %d failed to ack %s (%pe) reg[%#x] = %#x\n", in __domain_wait()
125 static void domain_wake(struct xe_gt *gt, struct xe_force_wake_domain *domain) in domain_wake() argument
127 __domain_ctl(gt, domain, true); in domain_wake()
130 static int domain_wake_wait(struct xe_gt *gt, in domain_wake_wait() argument
133 return __domain_wait(gt, domain, true); in domain_wake_wait()
136 static void domain_sleep(struct xe_gt *gt, struct xe_force_wake_domain *domain) in domain_sleep() argument
138 __domain_ctl(gt, domain, false); in domain_sleep()
141 static int domain_sleep_wait(struct xe_gt *gt, in domain_sleep_wait() argument
144 return __domain_wait(gt, domain, false); in domain_sleep_wait()
156 struct xe_gt *gt = fw->gt; in xe_force_wake_get() local
166 domain_wake(gt, domain); in xe_force_wake_get()
170 ret |= domain_wake_wait(gt, domain); in xe_force_wake_get()
181 struct xe_gt *gt = fw->gt; in xe_force_wake_put() local
191 domain_sleep(gt, domain); in xe_force_wake_put()
195 ret |= domain_sleep_wait(gt, domain); in xe_force_wake_put()