Lines Matching refs:bau_desc
513 static int uv1_wait_completion(struct bau_desc *bau_desc, in uv1_wait_completion() argument
609 static int uv2_3_wait_completion(struct bau_desc *bau_desc, in uv2_3_wait_completion() argument
680 static int wait_completion(struct bau_desc *bau_desc, struct bau_control *bcp, long try) in wait_completion() argument
695 return uv1_wait_completion(bau_desc, mmr_offset, right_shift, bcp, try); in wait_completion()
697 return uv2_3_wait_completion(bau_desc, mmr_offset, right_shift, bcp, try); in wait_completion()
705 static void destination_plugged(struct bau_desc *bau_desc, in destination_plugged() argument
718 reset_with_ipi(&bau_desc->distribution, bcp); in destination_plugged()
728 static void destination_timeout(struct bau_desc *bau_desc, in destination_timeout() argument
740 reset_with_ipi(&bau_desc->distribution, bcp); in destination_timeout()
853 static void handle_cmplt(int completion_status, struct bau_desc *bau_desc, in handle_cmplt() argument
858 destination_plugged(bau_desc, bcp, hmaster, stat); in handle_cmplt()
860 destination_timeout(bau_desc, bcp, hmaster, stat); in handle_cmplt()
874 struct bau_desc *bau_desc) in uv_flush_send_and_wait() argument
898 uv1_hdr = &bau_desc->header.uv1_hdr; in uv_flush_send_and_wait()
901 uv2_3_hdr = &bau_desc->header.uv2_3_hdr; in uv_flush_send_and_wait()
928 completion_stat = wait_completion(bau_desc, bcp, try); in uv_flush_send_and_wait()
930 handle_cmplt(completion_stat, bau_desc, bcp, hmaster, stat); in uv_flush_send_and_wait()
991 int remotes, struct bau_desc *bau_desc) in record_send_statistics() argument
999 hubs = bau_uvhub_weight(&bau_desc->distribution); in record_send_statistics()
1025 struct bau_desc *bau_desc, int *localsp, int *remotesp) in set_distrib_bits() argument
1041 bau_uvhub_set(pnode, &bau_desc->distribution); in set_distrib_bits()
1087 struct bau_desc *bau_desc; in uv_flush_tlb_others() local
1132 bau_desc = bcp->descriptor_base; in uv_flush_tlb_others()
1133 bau_desc += (ITEMS_PER_DESC * bcp->uvhub_cpu); in uv_flush_tlb_others()
1134 bau_uvhubs_clear(&bau_desc->distribution, UV_DISTRIBUTION_SIZE); in uv_flush_tlb_others()
1135 if (set_distrib_bits(flush_mask, bcp, bau_desc, &locals, &remotes)) in uv_flush_tlb_others()
1138 record_send_statistics(stat, locals, hubs, remotes, bau_desc); in uv_flush_tlb_others()
1141 bau_desc->payload.address = start; in uv_flush_tlb_others()
1143 bau_desc->payload.address = TLB_FLUSH_ALL; in uv_flush_tlb_others()
1144 bau_desc->payload.sending_cpu = cpu; in uv_flush_tlb_others()
1149 if (!uv_flush_send_and_wait(flush_mask, bcp, bau_desc)) in uv_flush_tlb_others()
1697 struct bau_desc *bau_desc; in activation_descriptor_init() local
1698 struct bau_desc *bd2; in activation_descriptor_init()
1707 dsize = sizeof(struct bau_desc) * ADP_SZ * ITEMS_PER_DESC; in activation_descriptor_init()
1708 bau_desc = kmalloc_node(dsize, GFP_KERNEL, node); in activation_descriptor_init()
1709 BUG_ON(!bau_desc); in activation_descriptor_init()
1711 gpa = uv_gpa(bau_desc); in activation_descriptor_init()
1724 for (i = 0, bd2 = bau_desc; i < (ADP_SZ * ITEMS_PER_DESC); i++, bd2++) { in activation_descriptor_init()
1725 memset(bd2, 0, sizeof(struct bau_desc)); in activation_descriptor_init()
1762 bcp->descriptor_base = bau_desc; in activation_descriptor_init()