Lines Matching refs:delayed_load
84 if (!i915_sw_fence_done(&huc->delayed_load.fence)) in __delayed_huc_load_complete()
85 i915_sw_fence_complete(&huc->delayed_load.fence); in __delayed_huc_load_complete()
90 hrtimer_cancel(&huc->delayed_load.timer); in delayed_huc_load_complete()
96 huc->delayed_load.status = INTEL_HUC_DELAYED_LOAD_ERROR; in __gsc_init_error()
102 hrtimer_cancel(&huc->delayed_load.timer); in gsc_init_error()
108 hrtimer_cancel(&huc->delayed_load.timer); in gsc_init_done()
111 huc->delayed_load.status = INTEL_HUC_WAITING_ON_PXP; in gsc_init_done()
112 if (!i915_sw_fence_done(&huc->delayed_load.fence)) in gsc_init_done()
113 hrtimer_start(&huc->delayed_load.timer, in gsc_init_done()
120 struct intel_huc *huc = container_of(hrtimer, struct intel_huc, delayed_load.timer); in huc_delayed_load_timer_callback()
123 if (huc->delayed_load.status == INTEL_HUC_WAITING_ON_GSC) in huc_delayed_load_timer_callback()
125 else if (huc->delayed_load.status == INTEL_HUC_WAITING_ON_PXP) in huc_delayed_load_timer_callback()
128 MISSING_CASE(huc->delayed_load.status); in huc_delayed_load_timer_callback()
146 switch (huc->delayed_load.status) { in huc_delayed_load_start()
164 GEM_BUG_ON(!i915_sw_fence_done(&huc->delayed_load.fence)); in huc_delayed_load_start()
165 i915_sw_fence_fini(&huc->delayed_load.fence); in huc_delayed_load_start()
166 i915_sw_fence_reinit(&huc->delayed_load.fence); in huc_delayed_load_start()
167 i915_sw_fence_await(&huc->delayed_load.fence); in huc_delayed_load_start()
168 i915_sw_fence_commit(&huc->delayed_load.fence); in huc_delayed_load_start()
170 hrtimer_start(&huc->delayed_load.timer, delay, HRTIMER_MODE_REL); in huc_delayed_load_start()
176 struct intel_huc *huc = container_of(nb, struct intel_huc, delayed_load.nb); in gsc_notifier()
204 huc->delayed_load.nb.notifier_call = gsc_notifier; in intel_huc_register_gsc_notifier()
205 ret = bus_register_notifier(bus, &huc->delayed_load.nb); in intel_huc_register_gsc_notifier()
208 huc->delayed_load.nb.notifier_call = NULL; in intel_huc_register_gsc_notifier()
215 if (!huc->delayed_load.nb.notifier_call) in intel_huc_unregister_gsc_notifier()
220 bus_unregister_notifier(bus, &huc->delayed_load.nb); in intel_huc_unregister_gsc_notifier()
221 huc->delayed_load.nb.notifier_call = NULL; in intel_huc_unregister_gsc_notifier()
230 i915_sw_fence_init(&huc->delayed_load.fence, in delayed_huc_load_init()
232 i915_sw_fence_commit(&huc->delayed_load.fence); in delayed_huc_load_init()
234 hrtimer_init(&huc->delayed_load.timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); in delayed_huc_load_init()
235 huc->delayed_load.timer.function = huc_delayed_load_timer_callback; in delayed_huc_load_init()
245 i915_sw_fence_fini(&huc->delayed_load.fence); in delayed_huc_load_fini()
659 (huc->delayed_load.status != INTEL_HUC_DELAYED_LOAD_ERROR); in huc_has_delayed_load()