Lines Matching refs:part_uv

73 	struct xpc_partition_uv *part_uv;  in xpc_setup_partitions_uv()  local
76 part_uv = &xpc_partitions[partid].sn.uv; in xpc_setup_partitions_uv()
78 mutex_init(&part_uv->cached_activate_gru_mq_desc_mutex); in xpc_setup_partitions_uv()
79 spin_lock_init(&part_uv->flags_lock); in xpc_setup_partitions_uv()
80 part_uv->remote_act_state = XPC_P_AS_INACTIVE; in xpc_setup_partitions_uv()
89 struct xpc_partition_uv *part_uv; in xpc_teardown_partitions_uv() local
93 part_uv = &xpc_partitions[partid].sn.uv; in xpc_teardown_partitions_uv()
95 if (part_uv->cached_activate_gru_mq_desc != NULL) { in xpc_teardown_partitions_uv()
96 mutex_lock(&part_uv->cached_activate_gru_mq_desc_mutex); in xpc_teardown_partitions_uv()
97 spin_lock_irqsave(&part_uv->flags_lock, irq_flags); in xpc_teardown_partitions_uv()
98 part_uv->flags &= ~XPC_P_CACHED_ACTIVATE_GRU_MQ_DESC_UV; in xpc_teardown_partitions_uv()
99 spin_unlock_irqrestore(&part_uv->flags_lock, irq_flags); in xpc_teardown_partitions_uv()
100 kfree(part_uv->cached_activate_gru_mq_desc); in xpc_teardown_partitions_uv()
101 part_uv->cached_activate_gru_mq_desc = NULL; in xpc_teardown_partitions_uv()
102 mutex_unlock(&part_uv-> in xpc_teardown_partitions_uv()
426 struct xpc_partition_uv *part_uv = &part->sn.uv; in xpc_handle_activate_mq_msg_uv() local
429 part_uv->remote_act_state = msg_hdr->act_state; in xpc_handle_activate_mq_msg_uv()
448 if (part_uv->act_state_req == 0) in xpc_handle_activate_mq_msg_uv()
450 part_uv->act_state_req = XPC_P_ASR_ACTIVATE_UV; in xpc_handle_activate_mq_msg_uv()
453 part_uv->heartbeat_gpa = msg->heartbeat_gpa; in xpc_handle_activate_mq_msg_uv()
456 part_uv->activate_gru_mq_desc_gpa) { in xpc_handle_activate_mq_msg_uv()
457 spin_lock(&part_uv->flags_lock); in xpc_handle_activate_mq_msg_uv()
458 part_uv->flags &= ~XPC_P_CACHED_ACTIVATE_GRU_MQ_DESC_UV; in xpc_handle_activate_mq_msg_uv()
459 spin_unlock(&part_uv->flags_lock); in xpc_handle_activate_mq_msg_uv()
460 part_uv->activate_gru_mq_desc_gpa = in xpc_handle_activate_mq_msg_uv()
475 if (part_uv->act_state_req == 0) in xpc_handle_activate_mq_msg_uv()
477 part_uv->act_state_req = XPC_P_ASR_DEACTIVATE_UV; in xpc_handle_activate_mq_msg_uv()
478 part_uv->reason = msg->reason; in xpc_handle_activate_mq_msg_uv()
575 spin_lock_irqsave(&part_uv->flags_lock, irq_flags); in xpc_handle_activate_mq_msg_uv()
576 part_uv->flags |= XPC_P_ENGAGED_UV; in xpc_handle_activate_mq_msg_uv()
577 spin_unlock_irqrestore(&part_uv->flags_lock, irq_flags); in xpc_handle_activate_mq_msg_uv()
581 spin_lock_irqsave(&part_uv->flags_lock, irq_flags); in xpc_handle_activate_mq_msg_uv()
582 part_uv->flags &= ~XPC_P_ENGAGED_UV; in xpc_handle_activate_mq_msg_uv()
583 spin_unlock_irqrestore(&part_uv->flags_lock, irq_flags); in xpc_handle_activate_mq_msg_uv()
592 if (part_uv->act_state_req == 0) in xpc_handle_activate_mq_msg_uv()
594 part_uv->act_state_req = XPC_P_ASR_DEACTIVATE_UV; in xpc_handle_activate_mq_msg_uv()
595 part_uv->reason = xpBadMsgType; in xpc_handle_activate_mq_msg_uv()
609 if (part_uv->act_state_req == 0) in xpc_handle_activate_mq_msg_uv()
611 part_uv->act_state_req = XPC_P_ASR_REACTIVATE_UV; in xpc_handle_activate_mq_msg_uv()
676 struct xpc_partition_uv *part_uv = &part->sn.uv; in xpc_send_activate_IRQ_uv() local
688 mutex_lock(&part_uv->cached_activate_gru_mq_desc_mutex); in xpc_send_activate_IRQ_uv()
690 if (!(part_uv->flags & XPC_P_CACHED_ACTIVATE_GRU_MQ_DESC_UV)) { in xpc_send_activate_IRQ_uv()
691 gru_mq_desc = part_uv->cached_activate_gru_mq_desc; in xpc_send_activate_IRQ_uv()
700 part_uv->cached_activate_gru_mq_desc = gru_mq_desc; in xpc_send_activate_IRQ_uv()
704 part_uv-> in xpc_send_activate_IRQ_uv()
709 spin_lock_irqsave(&part_uv->flags_lock, irq_flags); in xpc_send_activate_IRQ_uv()
710 part_uv->flags |= XPC_P_CACHED_ACTIVATE_GRU_MQ_DESC_UV; in xpc_send_activate_IRQ_uv()
711 spin_unlock_irqrestore(&part_uv->flags_lock, irq_flags); in xpc_send_activate_IRQ_uv()
715 ret = xpc_send_gru_msg(part_uv->cached_activate_gru_mq_desc, msg, in xpc_send_activate_IRQ_uv()
719 if (!(part_uv->flags & XPC_P_CACHED_ACTIVATE_GRU_MQ_DESC_UV)) in xpc_send_activate_IRQ_uv()
723 mutex_unlock(&part_uv->cached_activate_gru_mq_desc_mutex); in xpc_send_activate_IRQ_uv()
761 struct xpc_partition_uv *part_uv = &part->sn.uv; in xpc_send_local_activate_IRQ_uv() local
770 if (part_uv->act_state_req == 0) in xpc_send_local_activate_IRQ_uv()
772 part_uv->act_state_req = act_state_req; in xpc_send_local_activate_IRQ_uv()
873 struct xpc_partition_uv *part_uv = &part->sn.uv; in xpc_get_remote_heartbeat_uv() local
876 ret = xp_remote_memcpy(uv_gpa(&part_uv->cached_heartbeat), in xpc_get_remote_heartbeat_uv()
877 part_uv->heartbeat_gpa, in xpc_get_remote_heartbeat_uv()
882 if (part_uv->cached_heartbeat.value == part->last_heartbeat && in xpc_get_remote_heartbeat_uv()
883 !part_uv->cached_heartbeat.offline) { in xpc_get_remote_heartbeat_uv()
887 part->last_heartbeat = part_uv->cached_heartbeat.value; in xpc_get_remote_heartbeat_uv()
1299 struct xpc_partition_uv *part_uv = &xpc_partitions[partid].sn.uv; in xpc_assume_partition_disengaged_uv() local
1302 spin_lock_irqsave(&part_uv->flags_lock, irq_flags); in xpc_assume_partition_disengaged_uv()
1303 part_uv->flags &= ~XPC_P_ENGAGED_UV; in xpc_assume_partition_disengaged_uv()
1304 spin_unlock_irqrestore(&part_uv->flags_lock, irq_flags); in xpc_assume_partition_disengaged_uv()
1316 struct xpc_partition_uv *part_uv; in xpc_any_partition_engaged_uv() local
1320 part_uv = &xpc_partitions[partid].sn.uv; in xpc_any_partition_engaged_uv()
1321 if ((part_uv->flags & XPC_P_ENGAGED_UV) != 0) in xpc_any_partition_engaged_uv()
1409 struct xpc_partition_uv *part_uv = &part->sn.uv; in xpc_handle_notify_mq_msg_uv() local
1423 if (part_uv->act_state_req == 0) in xpc_handle_notify_mq_msg_uv()
1425 part_uv->act_state_req = XPC_P_ASR_DEACTIVATE_UV; in xpc_handle_notify_mq_msg_uv()
1426 part_uv->reason = xpBadChannelNumber; in xpc_handle_notify_mq_msg_uv()