Lines Matching full:i915

36  * session, which i915 manages and whose index is available in the uapi
46 * which is handled by the mei driver; communication between i915 and mei is
104 drm_err(&gt->i915->drm, "failed to create VCS ctx for PXP\n"); in create_vcs_context()
150 drm_info(&gt->i915->drm, "Protected Xe Path (PXP) protected content support initialized\n"); in pxp_init_full()
158 static struct intel_gt *find_gt_for_required_teelink(struct drm_i915_private *i915) in find_gt_for_required_teelink() argument
165 intel_huc_is_loaded_by_gsc(&to_gt(i915)->uc.huc) && intel_uc_uses_huc(&to_gt(i915)->uc)) in find_gt_for_required_teelink()
166 return to_gt(i915); in find_gt_for_required_teelink()
171 static struct intel_gt *find_gt_for_required_protected_content(struct drm_i915_private *i915) in find_gt_for_required_protected_content() argument
173 if (!HAS_PXP(i915)) in find_gt_for_required_protected_content()
182 if (i915->media_gt && HAS_ENGINE(i915->media_gt, GSC0) && in find_gt_for_required_protected_content()
183 intel_uc_fw_is_loadable(&i915->media_gt->uc.gsc.fw) && in find_gt_for_required_protected_content()
184 intel_uc_fw_is_loadable(&i915->media_gt->uc.huc.fw)) in find_gt_for_required_protected_content()
185 return i915->media_gt; in find_gt_for_required_protected_content()
191 if (IS_ENABLED(CONFIG_INTEL_MEI_PXP) && !i915->media_gt && VDBOX_MASK(to_gt(i915))) in find_gt_for_required_protected_content()
192 return to_gt(i915); in find_gt_for_required_protected_content()
197 int intel_pxp_init(struct drm_i915_private *i915) in intel_pxp_init() argument
202 if (intel_gt_is_wedged(to_gt(i915))) in intel_pxp_init()
209 gt = find_gt_for_required_protected_content(i915); in intel_pxp_init()
213 gt = find_gt_for_required_teelink(i915); in intel_pxp_init()
223 i915->pxp = kzalloc(sizeof(*i915->pxp), GFP_KERNEL); in intel_pxp_init()
224 if (!i915->pxp) in intel_pxp_init()
228 i915->pxp->ctrl_gt = gt; in intel_pxp_init()
229 mutex_init(&i915->pxp->tee_mutex); in intel_pxp_init()
237 pxp_init_full(i915->pxp); in intel_pxp_init()
239 intel_pxp_tee_component_init(i915->pxp); in intel_pxp_init()
244 void intel_pxp_fini(struct drm_i915_private *i915) in intel_pxp_fini() argument
246 if (!i915->pxp) in intel_pxp_fini()
249 i915->pxp->arb_is_valid = false; in intel_pxp_fini()
251 if (HAS_ENGINE(i915->pxp->ctrl_gt, GSC0)) in intel_pxp_fini()
252 intel_pxp_gsccs_fini(i915->pxp); in intel_pxp_fini()
254 intel_pxp_tee_component_fini(i915->pxp); in intel_pxp_fini()
256 destroy_vcs_context(i915->pxp); in intel_pxp_fini()
258 kfree(i915->pxp); in intel_pxp_fini()
259 i915->pxp = NULL; in intel_pxp_fini()
310 drm_dbg(&pxp->ctrl_gt->i915->drm, "PXP: teardown for suspend/fini"); in __pxp_global_teardown_final()
333 drm_dbg(&pxp->ctrl_gt->i915->drm, "PXP: teardown for restart"); in __pxp_global_teardown_restart()
343 drm_dbg(&pxp->ctrl_gt->i915->drm, "PXP: restart backend timed out (%d ms)", in __pxp_global_teardown_restart()
353 struct drm_i915_private *i915 = pxp->ctrl_gt->i915; in intel_pxp_end() local
359 wakeref = intel_runtime_pm_get(&i915->runtime_pm); in intel_pxp_end()
364 drm_dbg(&i915->drm, "PXP end timed out\n"); in intel_pxp_end()
369 intel_runtime_pm_put(&i915->runtime_pm, wakeref); in intel_pxp_end()
428 drm_dbg(&pxp->ctrl_gt->i915->drm, "PXP: tried but not-avail (%d)", ret); in intel_pxp_start()
466 struct drm_i915_private *i915 = to_i915(_obj->dev); in intel_pxp_key_check() local
467 struct intel_pxp *pxp = i915->pxp; in intel_pxp_key_check()
494 struct drm_i915_private *i915 = pxp->ctrl_gt->i915; in intel_pxp_invalidate() local
498 spin_lock_irq(&i915->gem.contexts.lock); in intel_pxp_invalidate()
499 list_for_each_entry_safe(ctx, cn, &i915->gem.contexts.list, link) { in intel_pxp_invalidate()
511 spin_unlock_irq(&i915->gem.contexts.lock); in intel_pxp_invalidate()
532 intel_runtime_pm_put(&i915->runtime_pm, in intel_pxp_invalidate()
537 spin_lock_irq(&i915->gem.contexts.lock); in intel_pxp_invalidate()
541 spin_unlock_irq(&i915->gem.contexts.lock); in intel_pxp_invalidate()