/kernel/linux/linux-6.6/drivers/gpu/drm/i915/pxp/ |
H A D | intel_pxp.c | 35 * Protected objects are tied to a pxp session; currently we only support one 50 bool intel_pxp_is_supported(const struct intel_pxp *pxp) in intel_pxp_is_supported() argument 52 return IS_ENABLED(CONFIG_DRM_I915_PXP) && pxp; in intel_pxp_is_supported() 55 bool intel_pxp_is_enabled(const struct intel_pxp *pxp) in intel_pxp_is_enabled() argument 57 return IS_ENABLED(CONFIG_DRM_I915_PXP) && pxp && pxp->ce; in intel_pxp_is_enabled() 60 bool intel_pxp_is_active(const struct intel_pxp *pxp) in intel_pxp_is_active() argument 62 return IS_ENABLED(CONFIG_DRM_I915_PXP) && pxp && pxp->arb_is_valid; in intel_pxp_is_active() 65 static void kcr_pxp_set_status(const struct intel_pxp *pxp, boo argument 73 kcr_pxp_enable(const struct intel_pxp *pxp) kcr_pxp_enable() argument 78 kcr_pxp_disable(const struct intel_pxp *pxp) kcr_pxp_disable() argument 83 create_vcs_context(struct intel_pxp *pxp) create_vcs_context() argument 113 destroy_vcs_context(struct intel_pxp *pxp) destroy_vcs_context() argument 119 pxp_init_full(struct intel_pxp *pxp) pxp_init_full() argument 259 intel_pxp_mark_termination_in_progress(struct intel_pxp *pxp) intel_pxp_mark_termination_in_progress() argument 265 pxp_queue_termination(struct intel_pxp *pxp) pxp_queue_termination() argument 280 pxp_component_bound(struct intel_pxp *pxp) pxp_component_bound() argument 292 intel_pxp_get_backend_timeout_ms(struct intel_pxp *pxp) intel_pxp_get_backend_timeout_ms() argument 300 __pxp_global_teardown_final(struct intel_pxp *pxp) __pxp_global_teardown_final() argument 321 __pxp_global_teardown_restart(struct intel_pxp *pxp) __pxp_global_teardown_restart() argument 341 intel_pxp_end(struct intel_pxp *pxp) intel_pxp_end() argument 367 intel_pxp_get_readiness_status(struct intel_pxp *pxp) intel_pxp_get_readiness_status() argument 386 intel_pxp_start(struct intel_pxp *pxp) intel_pxp_start() argument 413 intel_pxp_init_hw(struct intel_pxp *pxp) intel_pxp_init_hw() argument 419 intel_pxp_fini_hw(struct intel_pxp *pxp) intel_pxp_fini_hw() argument 425 intel_pxp_key_check(struct intel_pxp *pxp, struct drm_i915_gem_object *obj, bool assign) intel_pxp_key_check() argument 452 intel_pxp_invalidate(struct intel_pxp *pxp) intel_pxp_invalidate() argument [all...] |
H A D | intel_pxp_session.c | 18 static bool intel_pxp_session_is_in_play(struct intel_pxp *pxp, u32 id) in intel_pxp_session_is_in_play() argument 20 struct intel_uncore *uncore = pxp->ctrl_gt->uncore; in intel_pxp_session_is_in_play() 26 sip = intel_uncore_read(uncore, KCR_SIP(pxp->kcr_base)); in intel_pxp_session_is_in_play() 31 static int pxp_wait_for_session_state(struct intel_pxp *pxp, u32 id, bool in_play) in pxp_wait_for_session_state() argument 33 struct intel_uncore *uncore = pxp->ctrl_gt->uncore; in pxp_wait_for_session_state() 44 KCR_SIP(pxp->kcr_base), in pxp_wait_for_session_state() 54 static int pxp_create_arb_session(struct intel_pxp *pxp) in pxp_create_arb_session() argument 56 struct intel_gt *gt = pxp->ctrl_gt; in pxp_create_arb_session() 59 pxp->arb_is_valid = false; in pxp_create_arb_session() 61 if (intel_pxp_session_is_in_play(pxp, ARB_SESSIO in pxp_create_arb_session() 90 pxp_terminate_arb_session_and_global(struct intel_pxp *pxp) pxp_terminate_arb_session_and_global() argument 121 intel_pxp_terminate(struct intel_pxp *pxp, bool post_invalidation_needs_restart) intel_pxp_terminate() argument 137 pxp_terminate_complete(struct intel_pxp *pxp) pxp_terminate_complete() argument 148 struct intel_pxp *pxp = container_of(work, typeof(*pxp), session_work); pxp_session_work() local 182 intel_pxp_session_management_init(struct intel_pxp *pxp) intel_pxp_session_management_init() argument [all...] |
H A D | intel_pxp_pm.c | 14 void intel_pxp_suspend_prepare(struct intel_pxp *pxp) in intel_pxp_suspend_prepare() argument 16 if (!intel_pxp_is_enabled(pxp)) in intel_pxp_suspend_prepare() 19 intel_pxp_end(pxp); in intel_pxp_suspend_prepare() 21 intel_pxp_invalidate(pxp); in intel_pxp_suspend_prepare() 24 void intel_pxp_suspend(struct intel_pxp *pxp) in intel_pxp_suspend() argument 28 if (!intel_pxp_is_enabled(pxp)) in intel_pxp_suspend() 31 with_intel_runtime_pm(&pxp->ctrl_gt->i915->runtime_pm, wakeref) { in intel_pxp_suspend() 32 intel_pxp_fini_hw(pxp); in intel_pxp_suspend() 33 pxp->hw_state_invalidated = false; in intel_pxp_suspend() 37 void intel_pxp_resume_complete(struct intel_pxp *pxp) in intel_pxp_resume_complete() argument 54 intel_pxp_runtime_suspend(struct intel_pxp *pxp) intel_pxp_runtime_suspend() argument [all...] |
H A D | intel_pxp_tee.c | 54 static int intel_pxp_tee_io_message(struct intel_pxp *pxp, in intel_pxp_tee_io_message() argument 59 struct drm_i915_private *i915 = pxp->ctrl_gt->i915; in intel_pxp_tee_io_message() 60 struct i915_pxp_component *pxp_component = pxp->pxp_component; in intel_pxp_tee_io_message() 63 mutex_lock(&pxp->tee_mutex); in intel_pxp_tee_io_message() 98 mutex_unlock(&pxp->tee_mutex); in intel_pxp_tee_io_message() 102 int intel_pxp_tee_stream_message(struct intel_pxp *pxp, in intel_pxp_tee_stream_message() argument 109 struct drm_i915_private *i915 = pxp->ctrl_gt->i915; in intel_pxp_tee_stream_message() 110 struct i915_pxp_component *pxp_component = pxp->pxp_component; in intel_pxp_tee_stream_message() 118 mutex_lock(&pxp->tee_mutex); in intel_pxp_tee_stream_message() 125 GEM_BUG_ON(!pxp in intel_pxp_tee_stream_message() 157 struct intel_pxp *pxp = i915->pxp; i915_pxp_tee_component_bind() local 200 struct intel_pxp *pxp = i915->pxp; i915_pxp_tee_component_unbind() local 222 alloc_streaming_command(struct intel_pxp *pxp) alloc_streaming_command() argument 272 free_streaming_command(struct intel_pxp *pxp) free_streaming_command() argument 284 intel_pxp_tee_component_init(struct intel_pxp *pxp) intel_pxp_tee_component_init() argument 310 intel_pxp_tee_component_fini(struct intel_pxp *pxp) intel_pxp_tee_component_fini() argument 323 intel_pxp_tee_cmd_create_arb_session(struct intel_pxp *pxp, int arb_session_id) intel_pxp_tee_cmd_create_arb_session() argument 362 intel_pxp_tee_end_arb_fw_session(struct intel_pxp *pxp, u32 session_id) intel_pxp_tee_end_arb_fw_session() argument [all...] |
H A D | intel_pxp.h | 16 bool intel_pxp_is_supported(const struct intel_pxp *pxp); 17 bool intel_pxp_is_enabled(const struct intel_pxp *pxp); 18 bool intel_pxp_is_active(const struct intel_pxp *pxp); 23 void intel_pxp_init_hw(struct intel_pxp *pxp); 24 void intel_pxp_fini_hw(struct intel_pxp *pxp); 26 void intel_pxp_mark_termination_in_progress(struct intel_pxp *pxp); 27 void intel_pxp_tee_end_arb_fw_session(struct intel_pxp *pxp, u32 arb_session_id); 29 int intel_pxp_get_readiness_status(struct intel_pxp *pxp); 30 int intel_pxp_get_backend_timeout_ms(struct intel_pxp *pxp); 31 int intel_pxp_start(struct intel_pxp *pxp); [all...] |
H A D | intel_pxp_debugfs.c | 23 struct intel_pxp *pxp = m->private; in pxp_info_show() local 26 if (!intel_pxp_is_enabled(pxp)) { in pxp_info_show() 27 drm_printf(&p, "pxp disabled\n"); in pxp_info_show() 31 drm_printf(&p, "active: %s\n", str_yes_no(intel_pxp_is_active(pxp))); in pxp_info_show() 32 drm_printf(&p, "instance counter: %u\n", pxp->key_instance); in pxp_info_show() 47 struct intel_pxp *pxp = data; in pxp_terminate_set() local 48 struct intel_gt *gt = pxp->ctrl_gt; in pxp_terminate_set() 51 if (!intel_pxp_is_active(pxp)) in pxp_terminate_set() 56 intel_pxp_irq_handler(pxp, GEN12_DISPLAY_PXP_STATE_TERMINATED_INTERRUPT); in pxp_terminate_set() 59 timeout_ms = intel_pxp_get_backend_timeout_ms(pxp); in pxp_terminate_set() 70 intel_pxp_debugfs_register(struct intel_pxp *pxp) intel_pxp_debugfs_register() argument [all...] |
H A D | intel_pxp_irq.c | 22 * @pxp: pointer to pxp struct 25 void intel_pxp_irq_handler(struct intel_pxp *pxp, u16 iir) in intel_pxp_irq_handler() argument 29 if (GEM_WARN_ON(!intel_pxp_is_enabled(pxp))) in intel_pxp_irq_handler() 32 gt = pxp->ctrl_gt; in intel_pxp_irq_handler() 42 intel_pxp_mark_termination_in_progress(pxp); in intel_pxp_irq_handler() 43 pxp->session_events |= PXP_TERMINATION_REQUEST | PXP_INVAL_REQUIRED; in intel_pxp_irq_handler() 47 pxp->session_events |= PXP_TERMINATION_COMPLETE; in intel_pxp_irq_handler() 49 if (pxp->session_events) in intel_pxp_irq_handler() 50 queue_work(system_unbound_wq, &pxp in intel_pxp_irq_handler() 69 intel_pxp_irq_enable(struct intel_pxp *pxp) intel_pxp_irq_enable() argument 84 intel_pxp_irq_disable(struct intel_pxp *pxp) intel_pxp_irq_disable() argument [all...] |
H A D | intel_pxp_pm.h | 12 void intel_pxp_suspend_prepare(struct intel_pxp *pxp); 13 void intel_pxp_suspend(struct intel_pxp *pxp); 14 void intel_pxp_resume_complete(struct intel_pxp *pxp); 15 void intel_pxp_runtime_suspend(struct intel_pxp *pxp); 17 static inline void intel_pxp_suspend_prepare(struct intel_pxp *pxp) in intel_pxp_suspend_prepare() argument 21 static inline void intel_pxp_suspend(struct intel_pxp *pxp) in intel_pxp_suspend() argument 25 static inline void intel_pxp_resume_complete(struct intel_pxp *pxp) in intel_pxp_resume_complete() argument 29 static inline void intel_pxp_runtime_suspend(struct intel_pxp *pxp) in intel_pxp_runtime_suspend() argument 33 static inline void intel_pxp_runtime_resume(struct intel_pxp *pxp) in intel_pxp_runtime_resume() argument 35 intel_pxp_resume_complete(pxp); in intel_pxp_runtime_resume() [all...] |
H A D | intel_pxp_gsccs.c | 52 gsccs_send_message(struct intel_pxp *pxp, in gsccs_send_message() argument 58 struct intel_gt *gt = pxp->ctrl_gt; in gsccs_send_message() 60 struct gsccs_session_resources *exec_res = &pxp->gsccs_res; in gsccs_send_message() 80 mutex_lock(&pxp->tee_mutex); in gsccs_send_message() 159 mutex_unlock(&pxp->tee_mutex); in gsccs_send_message() 164 gsccs_send_message_retry_complete(struct intel_pxp *pxp, in gsccs_send_message_retry_complete() argument 178 ret = gsccs_send_message(pxp, msg_in, msg_in_size, msg_out, msg_out_size_max, in gsccs_send_message_retry_complete() 190 bool intel_pxp_gsccs_is_ready_for_sessions(struct intel_pxp *pxp) in intel_pxp_gsccs_is_ready_for_sessions() argument 200 if (intel_huc_is_authenticated(&pxp->ctrl_gt->uc.huc, INTEL_HUC_AUTH_BY_GSC) && in intel_pxp_gsccs_is_ready_for_sessions() 201 intel_gsc_uc_fw_proxy_init_done(&pxp in intel_pxp_gsccs_is_ready_for_sessions() 207 intel_pxp_gsccs_create_session(struct intel_pxp *pxp, int arb_session_id) intel_pxp_gsccs_create_session() argument 246 intel_pxp_gsccs_end_arb_fw_session(struct intel_pxp *pxp, u32 session_id) intel_pxp_gsccs_end_arb_fw_session() argument 288 gsccs_cleanup_fw_host_session_handle(struct intel_pxp *pxp) gsccs_cleanup_fw_host_session_handle() argument 300 gsccs_destroy_execution_resource(struct intel_pxp *pxp) gsccs_destroy_execution_resource() argument 368 gsccs_allocate_execution_resource(struct intel_pxp *pxp) gsccs_allocate_execution_resource() argument 425 intel_pxp_gsccs_fini(struct intel_pxp *pxp) intel_pxp_gsccs_fini() argument 434 intel_pxp_gsccs_init(struct intel_pxp *pxp) intel_pxp_gsccs_init() argument [all...] |
H A D | intel_pxp_gsccs.h | 23 void intel_pxp_gsccs_fini(struct intel_pxp *pxp); 24 int intel_pxp_gsccs_init(struct intel_pxp *pxp); 26 int intel_pxp_gsccs_create_session(struct intel_pxp *pxp, int arb_session_id); 27 void intel_pxp_gsccs_end_arb_fw_session(struct intel_pxp *pxp, u32 arb_session_id); 30 static inline void intel_pxp_gsccs_fini(struct intel_pxp *pxp) in intel_pxp_gsccs_fini() argument 34 static inline int intel_pxp_gsccs_init(struct intel_pxp *pxp) in intel_pxp_gsccs_init() argument 41 bool intel_pxp_gsccs_is_ready_for_sessions(struct intel_pxp *pxp);
|
H A D | intel_pxp_irq.h | 23 void intel_pxp_irq_enable(struct intel_pxp *pxp); 24 void intel_pxp_irq_disable(struct intel_pxp *pxp); 25 void intel_pxp_irq_handler(struct intel_pxp *pxp, u16 iir); 27 static inline void intel_pxp_irq_handler(struct intel_pxp *pxp, u16 iir) in intel_pxp_irq_handler() argument 31 static inline void intel_pxp_irq_enable(struct intel_pxp *pxp) in intel_pxp_irq_enable() argument 35 static inline void intel_pxp_irq_disable(struct intel_pxp *pxp) in intel_pxp_irq_disable() argument
|
H A D | intel_pxp_session.h | 14 void intel_pxp_session_management_init(struct intel_pxp *pxp); 15 void intel_pxp_terminate(struct intel_pxp *pxp, bool post_invalidation_needs_restart); 17 static inline void intel_pxp_session_management_init(struct intel_pxp *pxp) in intel_pxp_session_management_init() argument 21 static inline void intel_pxp_terminate(struct intel_pxp *pxp, bool post_invalidation_needs_restart) in intel_pxp_terminate() argument
|
H A D | intel_pxp_tee.h | 11 int intel_pxp_tee_component_init(struct intel_pxp *pxp); 12 void intel_pxp_tee_component_fini(struct intel_pxp *pxp); 14 int intel_pxp_tee_cmd_create_arb_session(struct intel_pxp *pxp, 17 int intel_pxp_tee_stream_message(struct intel_pxp *pxp,
|
H A D | intel_pxp_huc.c | 17 int intel_pxp_huc_load_and_auth(struct intel_pxp *pxp) in intel_pxp_huc_load_and_auth() argument 28 if (!pxp || !pxp->pxp_component) in intel_pxp_huc_load_and_auth() 31 gt = pxp->ctrl_gt; in intel_pxp_huc_load_and_auth() 43 err = intel_pxp_tee_stream_message(pxp, client_id, fence_id, in intel_pxp_huc_load_and_auth()
|
H A D | intel_pxp_debugfs.h | 13 void intel_pxp_debugfs_register(struct intel_pxp *pxp); 16 intel_pxp_debugfs_register(struct intel_pxp *pxp) in intel_pxp_debugfs_register() argument
|
H A D | intel_pxp_cmd.c | 27 /* pxp off */ in pxp_emit_session_selection() 37 /* pxp on */ in pxp_emit_session_selection() 97 int intel_pxp_terminate_session(struct intel_pxp *pxp, u32 id) in intel_pxp_terminate_session() argument 100 struct intel_context *ce = pxp->ce; in intel_pxp_terminate_session() 104 if (!intel_pxp_is_enabled(pxp)) in intel_pxp_terminate_session()
|
H A D | intel_pxp_huc.h | 11 int intel_pxp_huc_load_and_auth(struct intel_pxp *pxp);
|
H A D | intel_pxp_cmd.h | 13 int intel_pxp_terminate_session(struct intel_pxp *pxp, u32 idx);
|
/kernel/linux/linux-5.10/drivers/net/ethernet/qlogic/qed/ |
H A D | qed_hw.c | 34 struct pxp_ptt_entry pxp; member 55 p_pool->ptts[i].pxp.offset = QED_BAR_INVALID_OFFSET; in qed_ptt_pool_alloc() 56 p_pool->ptts[i].pxp.pretend.control = 0; in qed_ptt_pool_alloc() 76 p_ptt->pxp.offset = QED_BAR_INVALID_OFFSET; in qed_ptt_invalidate() 125 return le32_to_cpu(p_ptt->pxp.offset) << 2; in qed_ptt_get_hw_addr() 156 p_ptt->pxp.offset = cpu_to_le32(new_hw_addr >> 2); in qed_ptt_set_win() 161 le32_to_cpu(p_ptt->pxp.offset)); in qed_ptt_set_win() 295 p_ptt->pxp.pretend.control = cpu_to_le16(control); in qed_fid_pretend() 296 p_ptt->pxp.pretend.fid.concrete_fid.fid = cpu_to_le16(fid); in qed_fid_pretend() 301 *(u32 *)&p_ptt->pxp in qed_fid_pretend() [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/qlogic/qed/ |
H A D | qed_hw.c | 37 struct pxp_ptt_entry pxp; member 58 p_pool->ptts[i].pxp.offset = QED_BAR_INVALID_OFFSET; in qed_ptt_pool_alloc() 59 p_pool->ptts[i].pxp.pretend.control = 0; in qed_ptt_pool_alloc() 79 p_ptt->pxp.offset = QED_BAR_INVALID_OFFSET; in qed_ptt_invalidate() 143 return le32_to_cpu(p_ptt->pxp.offset) << 2; in qed_ptt_get_hw_addr() 174 p_ptt->pxp.offset = cpu_to_le32(new_hw_addr >> 2); in qed_ptt_set_win() 179 le32_to_cpu(p_ptt->pxp.offset)); in qed_ptt_set_win() 313 p_ptt->pxp.pretend.control = cpu_to_le16(control); in qed_fid_pretend() 314 p_ptt->pxp.pretend.fid.concrete_fid.fid = cpu_to_le16(fid); in qed_fid_pretend() 319 *(u32 *)&p_ptt->pxp in qed_fid_pretend() [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/i915/ |
H A D | Makefile | 347 pxp/intel_pxp.o \ 348 pxp/intel_pxp_tee.o \ 349 pxp/intel_pxp_huc.o 352 pxp/intel_pxp_cmd.o \ 353 pxp/intel_pxp_debugfs.o \ 354 pxp/intel_pxp_gsccs.o \ 355 pxp/intel_pxp_irq.o \ 356 pxp/intel_pxp_pm.o \ 357 pxp/intel_pxp_session.o
|
H A D | i915_driver.c | 76 #include "pxp/intel_pxp.h" 77 #include "pxp/intel_pxp_debugfs.h" 78 #include "pxp/intel_pxp_pm.h" 626 intel_pxp_debugfs_register(dev_priv->pxp); in i915_driver_register() 1051 intel_pxp_resume_complete(i915->pxp); in i915_drm_complete() 1058 intel_pxp_suspend_prepare(i915->pxp); in i915_drm_prepare() 1127 intel_pxp_suspend(dev_priv->pxp); in i915_drm_suspend_late() 1523 intel_pxp_runtime_suspend(dev_priv->pxp); in intel_runtime_suspend() 1645 intel_pxp_runtime_resume(dev_priv->pxp); in intel_runtime_resume()
|
H A D | i915_getparam.c | 8 #include "pxp/intel_pxp.h" 112 value = intel_pxp_get_readiness_status(i915->pxp); in i915_getparam_ioctl()
|
/kernel/linux/linux-6.6/drivers/misc/mei/ |
H A D | Makefile | 32 obj-$(CONFIG_INTEL_MEI_PXP) += pxp/
|
/kernel/linux/linux-6.6/drivers/gpu/drm/i915/gt/uc/ |
H A D | intel_huc_fw.c | 14 #include "pxp/intel_pxp_huc.h" 15 #include "pxp/intel_pxp_cmd_interface_43.h" 256 ret = intel_pxp_huc_load_and_auth(huc_to_gt(huc)->i915->pxp); in intel_huc_fw_load_and_auth_via_gsc()
|