Lines Matching refs:part

265 xpc_partition_disengaged(struct xpc_partition *part)  in xpc_partition_disengaged()  argument
267 short partid = XPC_PARTID(part); in xpc_partition_disengaged()
271 if (part->disengage_timeout) { in xpc_partition_disengaged()
273 if (time_is_after_jiffies(part->disengage_timeout)) { in xpc_partition_disengaged()
289 part->disengage_timeout = 0; in xpc_partition_disengaged()
293 del_singleshot_timer_sync(&part->disengage_timer); in xpc_partition_disengaged()
295 DBUG_ON(part->act_state != XPC_P_AS_DEACTIVATING && in xpc_partition_disengaged()
296 part->act_state != XPC_P_AS_INACTIVE); in xpc_partition_disengaged()
297 if (part->act_state != XPC_P_AS_INACTIVE) in xpc_partition_disengaged()
298 xpc_wakeup_channel_mgr(part); in xpc_partition_disengaged()
300 xpc_arch_ops.cancel_partition_deactivation_request(part); in xpc_partition_disengaged()
309 xpc_mark_partition_active(struct xpc_partition *part) in xpc_mark_partition_active() argument
314 dev_dbg(xpc_part, "setting partition %d to ACTIVE\n", XPC_PARTID(part)); in xpc_mark_partition_active()
316 spin_lock_irqsave(&part->act_lock, irq_flags); in xpc_mark_partition_active()
317 if (part->act_state == XPC_P_AS_ACTIVATING) { in xpc_mark_partition_active()
318 part->act_state = XPC_P_AS_ACTIVE; in xpc_mark_partition_active()
321 DBUG_ON(part->reason == xpSuccess); in xpc_mark_partition_active()
322 ret = part->reason; in xpc_mark_partition_active()
324 spin_unlock_irqrestore(&part->act_lock, irq_flags); in xpc_mark_partition_active()
333 xpc_deactivate_partition(const int line, struct xpc_partition *part, in xpc_deactivate_partition() argument
338 spin_lock_irqsave(&part->act_lock, irq_flags); in xpc_deactivate_partition()
340 if (part->act_state == XPC_P_AS_INACTIVE) { in xpc_deactivate_partition()
341 XPC_SET_REASON(part, reason, line); in xpc_deactivate_partition()
342 spin_unlock_irqrestore(&part->act_lock, irq_flags); in xpc_deactivate_partition()
345 xpc_arch_ops.request_partition_reactivation(part); in xpc_deactivate_partition()
349 if (part->act_state == XPC_P_AS_DEACTIVATING) { in xpc_deactivate_partition()
350 if ((part->reason == xpUnloading && reason != xpUnloading) || in xpc_deactivate_partition()
352 XPC_SET_REASON(part, reason, line); in xpc_deactivate_partition()
354 spin_unlock_irqrestore(&part->act_lock, irq_flags); in xpc_deactivate_partition()
358 part->act_state = XPC_P_AS_DEACTIVATING; in xpc_deactivate_partition()
359 XPC_SET_REASON(part, reason, line); in xpc_deactivate_partition()
361 spin_unlock_irqrestore(&part->act_lock, irq_flags); in xpc_deactivate_partition()
364 xpc_arch_ops.request_partition_deactivation(part); in xpc_deactivate_partition()
367 part->disengage_timeout = jiffies + (xpc_disengage_timelimit * HZ); in xpc_deactivate_partition()
368 part->disengage_timer.expires = part->disengage_timeout; in xpc_deactivate_partition()
369 add_timer(&part->disengage_timer); in xpc_deactivate_partition()
372 XPC_PARTID(part), reason); in xpc_deactivate_partition()
374 xpc_partition_going_down(part, reason); in xpc_deactivate_partition()
381 xpc_mark_partition_inactive(struct xpc_partition *part) in xpc_mark_partition_inactive() argument
386 XPC_PARTID(part)); in xpc_mark_partition_inactive()
388 spin_lock_irqsave(&part->act_lock, irq_flags); in xpc_mark_partition_inactive()
389 part->act_state = XPC_P_AS_INACTIVE; in xpc_mark_partition_inactive()
390 spin_unlock_irqrestore(&part->act_lock, irq_flags); in xpc_mark_partition_inactive()
391 part->remote_rp_pa = 0; in xpc_mark_partition_inactive()
521 struct xpc_partition *part; in xpc_initiate_partid_to_nasids() local
524 part = &xpc_partitions[partid]; in xpc_initiate_partid_to_nasids()
525 if (part->remote_rp_pa == 0) in xpc_initiate_partid_to_nasids()
530 part_nasid_pa = (unsigned long)XPC_RP_PART_NASIDS(part->remote_rp_pa); in xpc_initiate_partid_to_nasids()