Lines Matching refs:new_state
246 union kvmppc_icp_state old_state, new_state; in icp_rm_try_to_deliver() local
250 old_state = new_state = READ_ONCE(icp->state); in icp_rm_try_to_deliver()
255 success = new_state.cppr > priority && in icp_rm_try_to_deliver()
256 new_state.mfrr > priority && in icp_rm_try_to_deliver()
257 new_state.pending_pri > priority; in icp_rm_try_to_deliver()
264 *reject = new_state.xisr; in icp_rm_try_to_deliver()
265 new_state.xisr = irq; in icp_rm_try_to_deliver()
266 new_state.pending_pri = priority; in icp_rm_try_to_deliver()
273 new_state.need_resend = true; in icp_rm_try_to_deliver()
276 } while (!icp_rm_try_update(icp, old_state, new_state)); in icp_rm_try_to_deliver()
416 union kvmppc_icp_state old_state, new_state; in icp_rm_down_cppr() local
449 old_state = new_state = READ_ONCE(icp->state); in icp_rm_down_cppr()
452 new_state.cppr = new_cppr; in icp_rm_down_cppr()
463 if (new_state.mfrr < new_cppr && in icp_rm_down_cppr()
464 new_state.mfrr <= new_state.pending_pri) { in icp_rm_down_cppr()
465 new_state.pending_pri = new_state.mfrr; in icp_rm_down_cppr()
466 new_state.xisr = XICS_IPI; in icp_rm_down_cppr()
470 resend = new_state.need_resend; in icp_rm_down_cppr()
471 new_state.need_resend = 0; in icp_rm_down_cppr()
473 } while (!icp_rm_try_update(icp, old_state, new_state)); in icp_rm_down_cppr()
489 union kvmppc_icp_state old_state, new_state; in xics_rm_h_xirr() local
508 old_state = new_state = READ_ONCE(icp->state); in xics_rm_h_xirr()
513 new_state.cppr = new_state.pending_pri; in xics_rm_h_xirr()
514 new_state.pending_pri = 0xff; in xics_rm_h_xirr()
515 new_state.xisr = 0; in xics_rm_h_xirr()
517 } while (!icp_rm_try_update(icp, old_state, new_state)); in xics_rm_h_xirr()
528 union kvmppc_icp_state old_state, new_state; in xics_rm_h_ipi() local
574 old_state = new_state = READ_ONCE(icp->state); in xics_rm_h_ipi()
577 new_state.mfrr = mfrr; in xics_rm_h_ipi()
582 if (mfrr < new_state.cppr) { in xics_rm_h_ipi()
584 if (mfrr <= new_state.pending_pri) { in xics_rm_h_ipi()
585 reject = new_state.xisr; in xics_rm_h_ipi()
586 new_state.pending_pri = mfrr; in xics_rm_h_ipi()
587 new_state.xisr = XICS_IPI; in xics_rm_h_ipi()
592 resend = new_state.need_resend; in xics_rm_h_ipi()
593 new_state.need_resend = 0; in xics_rm_h_ipi()
595 } while (!icp_rm_try_update(icp, old_state, new_state)); in xics_rm_h_ipi()
614 union kvmppc_icp_state old_state, new_state; in xics_rm_h_cppr() local
649 old_state = new_state = READ_ONCE(icp->state); in xics_rm_h_cppr()
652 new_state.cppr = cppr; in xics_rm_h_cppr()
654 if (cppr <= new_state.pending_pri) { in xics_rm_h_cppr()
655 reject = new_state.xisr; in xics_rm_h_cppr()
656 new_state.xisr = 0; in xics_rm_h_cppr()
657 new_state.pending_pri = 0xff; in xics_rm_h_cppr()
660 } while (!icp_rm_try_update(icp, old_state, new_state)); in xics_rm_h_cppr()