Lines Matching refs:part

13  *	This is the part of XPC that detects the presence/absence of
265 static int __xpc_partition_disengaged(struct xpc_partition *part,
268 short partid = XPC_PARTID(part);
272 if (part->disengage_timeout) {
274 if (time_is_after_jiffies(part->disengage_timeout)) {
290 part->disengage_timeout = 0;
294 del_timer_sync(&part->disengage_timer);
296 DBUG_ON(part->act_state != XPC_P_AS_DEACTIVATING &&
297 part->act_state != XPC_P_AS_INACTIVE);
298 if (part->act_state != XPC_P_AS_INACTIVE)
299 xpc_wakeup_channel_mgr(part);
301 xpc_arch_ops.cancel_partition_deactivation_request(part);
306 int xpc_partition_disengaged(struct xpc_partition *part)
308 return __xpc_partition_disengaged(part, false);
311 int xpc_partition_disengaged_from_timer(struct xpc_partition *part)
313 return __xpc_partition_disengaged(part, true);
320 xpc_mark_partition_active(struct xpc_partition *part)
325 dev_dbg(xpc_part, "setting partition %d to ACTIVE\n", XPC_PARTID(part));
327 spin_lock_irqsave(&part->act_lock, irq_flags);
328 if (part->act_state == XPC_P_AS_ACTIVATING) {
329 part->act_state = XPC_P_AS_ACTIVE;
332 DBUG_ON(part->reason == xpSuccess);
333 ret = part->reason;
335 spin_unlock_irqrestore(&part->act_lock, irq_flags);
344 xpc_deactivate_partition(const int line, struct xpc_partition *part,
349 spin_lock_irqsave(&part->act_lock, irq_flags);
351 if (part->act_state == XPC_P_AS_INACTIVE) {
352 XPC_SET_REASON(part, reason, line);
353 spin_unlock_irqrestore(&part->act_lock, irq_flags);
356 xpc_arch_ops.request_partition_reactivation(part);
360 if (part->act_state == XPC_P_AS_DEACTIVATING) {
361 if ((part->reason == xpUnloading && reason != xpUnloading) ||
363 XPC_SET_REASON(part, reason, line);
365 spin_unlock_irqrestore(&part->act_lock, irq_flags);
369 part->act_state = XPC_P_AS_DEACTIVATING;
370 XPC_SET_REASON(part, reason, line);
372 spin_unlock_irqrestore(&part->act_lock, irq_flags);
375 xpc_arch_ops.request_partition_deactivation(part);
378 part->disengage_timeout = jiffies + (xpc_disengage_timelimit * HZ);
379 part->disengage_timer.expires = part->disengage_timeout;
380 add_timer(&part->disengage_timer);
383 XPC_PARTID(part), reason);
385 xpc_partition_going_down(part, reason);
392 xpc_mark_partition_inactive(struct xpc_partition *part)
397 XPC_PARTID(part));
399 spin_lock_irqsave(&part->act_lock, irq_flags);
400 part->act_state = XPC_P_AS_INACTIVE;
401 spin_unlock_irqrestore(&part->act_lock, irq_flags);
402 part->remote_rp_pa = 0;
482 "part of the local partition; skipping "
495 dev_dbg(xpc_part, "Nasid %d is part of a "
532 struct xpc_partition *part;
535 part = &xpc_partitions[partid];
536 if (part->remote_rp_pa == 0)
541 part_nasid_pa = (unsigned long)XPC_RP_PART_NASIDS(part->remote_rp_pa);