Lines Matching full:pxp
21 * intel_pxp_irq_handler - Handles PXP interrupts.
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()
41 /* immediately mark PXP as inactive on termination */ 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()
48 pxp->session_events |= PXP_TERMINATION_COMPLETE | PXP_EVENT_TYPE_IRQ; in intel_pxp_irq_handler()
50 if (pxp->session_events) in intel_pxp_irq_handler()
51 queue_work(system_unbound_wq, &pxp->session_work); in intel_pxp_irq_handler()
70 void intel_pxp_irq_enable(struct intel_pxp *pxp) in intel_pxp_irq_enable() argument
72 struct intel_gt *gt = pxp->ctrl_gt; in intel_pxp_irq_enable()
76 if (!pxp->irq_enabled) in intel_pxp_irq_enable()
80 pxp->irq_enabled = true; in intel_pxp_irq_enable()
85 void intel_pxp_irq_disable(struct intel_pxp *pxp) in intel_pxp_irq_disable() argument
87 struct intel_gt *gt = pxp->ctrl_gt; in intel_pxp_irq_disable()
96 GEM_WARN_ON(intel_pxp_is_active(pxp)); in intel_pxp_irq_disable()
100 pxp->irq_enabled = false; in intel_pxp_irq_disable()
108 flush_work(&pxp->session_work); in intel_pxp_irq_disable()