Lines Matching refs:li
80 struct kvm_s390_local_interrupt *li; in __sigp_emergency() local
95 li = fi->local_int[cpu_addr]; in __sigp_emergency()
96 if (li == NULL) { in __sigp_emergency()
101 spin_lock_bh(&li->lock); in __sigp_emergency()
102 list_add_tail(&inti->list, &li->list); in __sigp_emergency()
103 atomic_set(&li->active, 1); in __sigp_emergency()
104 atomic_set_mask(CPUSTAT_EXT_INT, li->cpuflags); in __sigp_emergency()
105 if (waitqueue_active(&li->wq)) in __sigp_emergency()
106 wake_up_interruptible(&li->wq); in __sigp_emergency()
107 spin_unlock_bh(&li->lock); in __sigp_emergency()
118 struct kvm_s390_local_interrupt *li; in __sigp_external_call() local
133 li = fi->local_int[cpu_addr]; in __sigp_external_call()
134 if (li == NULL) { in __sigp_external_call()
139 spin_lock_bh(&li->lock); in __sigp_external_call()
140 list_add_tail(&inti->list, &li->list); in __sigp_external_call()
141 atomic_set(&li->active, 1); in __sigp_external_call()
142 atomic_set_mask(CPUSTAT_EXT_INT, li->cpuflags); in __sigp_external_call()
143 if (waitqueue_active(&li->wq)) in __sigp_external_call()
144 wake_up_interruptible(&li->wq); in __sigp_external_call()
145 spin_unlock_bh(&li->lock); in __sigp_external_call()
153 static int __inject_sigp_stop(struct kvm_s390_local_interrupt *li, int action) in __inject_sigp_stop() argument
162 spin_lock_bh(&li->lock); in __inject_sigp_stop()
163 if ((atomic_read(li->cpuflags) & CPUSTAT_STOPPED)) in __inject_sigp_stop()
165 list_add_tail(&inti->list, &li->list); in __inject_sigp_stop()
166 atomic_set(&li->active, 1); in __inject_sigp_stop()
167 atomic_set_mask(CPUSTAT_STOP_INT, li->cpuflags); in __inject_sigp_stop()
168 li->action_bits |= action; in __inject_sigp_stop()
169 if (waitqueue_active(&li->wq)) in __inject_sigp_stop()
170 wake_up_interruptible(&li->wq); in __inject_sigp_stop()
172 spin_unlock_bh(&li->lock); in __inject_sigp_stop()
180 struct kvm_s390_local_interrupt *li; in __sigp_stop() local
187 li = fi->local_int[cpu_addr]; in __sigp_stop()
188 if (li == NULL) { in __sigp_stop()
193 rc = __inject_sigp_stop(li, action); in __sigp_stop()
203 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_inject_sigp_stop() local
204 return __inject_sigp_stop(li, action); in kvm_s390_inject_sigp_stop()
229 struct kvm_s390_local_interrupt *li = NULL; in __sigp_set_prefix() local
248 li = fi->local_int[cpu_addr]; in __sigp_set_prefix()
250 if (li == NULL) { in __sigp_set_prefix()
257 spin_lock_bh(&li->lock); in __sigp_set_prefix()
259 if (!(atomic_read(li->cpuflags) & CPUSTAT_STOPPED)) { in __sigp_set_prefix()
269 list_add_tail(&inti->list, &li->list); in __sigp_set_prefix()
270 atomic_set(&li->active, 1); in __sigp_set_prefix()
271 if (waitqueue_active(&li->wq)) in __sigp_set_prefix()
272 wake_up_interruptible(&li->wq); in __sigp_set_prefix()
277 spin_unlock_bh(&li->lock); in __sigp_set_prefix()
319 struct kvm_s390_local_interrupt *li; in __sigp_restart() local
325 li = fi->local_int[cpu_addr]; in __sigp_restart()
326 if (li == NULL) { in __sigp_restart()
331 spin_lock_bh(&li->lock); in __sigp_restart()
332 if (li->action_bits & ACTION_STOP_ON_STOP) in __sigp_restart()
337 spin_unlock_bh(&li->lock); in __sigp_restart()