Lines Matching refs:hmaster
486 static inline void quiesce_local_uvhub(struct bau_control *hmaster) in quiesce_local_uvhub() argument
488 atom_asr(1, (struct atomic_short *)&hmaster->uvhub_quiesce); in quiesce_local_uvhub()
494 static inline void end_uvhub_quiesce(struct bau_control *hmaster) in end_uvhub_quiesce() argument
496 atom_asr(-1, (struct atomic_short *)&hmaster->uvhub_quiesce); in end_uvhub_quiesce()
707 struct bau_control *hmaster, struct ptc_stats *stat) in destination_plugged() argument
715 quiesce_local_uvhub(hmaster); in destination_plugged()
717 spin_lock(&hmaster->queue_lock); in destination_plugged()
719 spin_unlock(&hmaster->queue_lock); in destination_plugged()
721 end_uvhub_quiesce(hmaster); in destination_plugged()
729 struct bau_control *bcp, struct bau_control *hmaster, in destination_timeout() argument
732 hmaster->max_concurr = 1; in destination_timeout()
737 quiesce_local_uvhub(hmaster); in destination_timeout()
739 spin_lock(&hmaster->queue_lock); in destination_timeout()
741 spin_unlock(&hmaster->queue_lock); in destination_timeout()
743 end_uvhub_quiesce(hmaster); in destination_timeout()
758 struct bau_control *hmaster; in disable_for_period() local
761 hmaster = bcp->uvhub_master; in disable_for_period()
762 spin_lock(&hmaster->disable_lock); in disable_for_period()
768 if (tbcp->uvhub_master == hmaster) { in disable_for_period()
775 spin_unlock(&hmaster->disable_lock); in disable_for_period()
779 struct bau_control *hmaster) in count_max_concurr() argument
787 if (hmaster->max_concurr >= hmaster->max_concurr_const) in count_max_concurr()
789 hmaster->max_concurr++; in count_max_concurr()
836 static void uv1_throttle(struct bau_control *hmaster, struct ptc_stats *stat) in uv1_throttle() argument
838 spinlock_t *lock = &hmaster->uvhub_lock; in uv1_throttle()
841 v = &hmaster->active_descriptor_count; in uv1_throttle()
842 if (!atomic_inc_unless_ge(lock, v, hmaster->max_concurr)) { in uv1_throttle()
846 } while (!atomic_inc_unless_ge(lock, v, hmaster->max_concurr)); in uv1_throttle()
854 struct bau_control *bcp, struct bau_control *hmaster, 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()
884 struct bau_control *hmaster = bcp->uvhub_master; in uv_flush_send_and_wait() local
890 uv1_throttle(hmaster, stat); in uv_flush_send_and_wait()
893 while (hmaster->uvhub_quiesce) in uv_flush_send_and_wait()
930 handle_cmplt(completion_stat, bau_desc, bcp, hmaster, stat); in uv_flush_send_and_wait()
944 count_max_concurr(completion_stat, bcp, hmaster); in uv_flush_send_and_wait()
946 while (hmaster->uvhub_quiesce) in uv_flush_send_and_wait()
949 atomic_dec(&hmaster->active_descriptor_count); in uv_flush_send_and_wait()
968 struct bau_control *hmaster; in check_enable() local
970 hmaster = bcp->uvhub_master; in check_enable()
971 spin_lock(&hmaster->disable_lock); in check_enable()
976 if (tbcp->uvhub_master == hmaster) { in check_enable()
983 spin_unlock(&hmaster->disable_lock); in check_enable()
986 spin_unlock(&hmaster->disable_lock); in check_enable()
1984 static void make_per_hub_cpumask(struct bau_control *hmaster) in make_per_hub_cpumask() argument
1988 hmaster->cpumask = kzalloc_node(sz, GFP_KERNEL, hmaster->osnode); in make_per_hub_cpumask()
2052 struct bau_control *hmaster = NULL; in summarize_uvhub_sockets() local
2064 if (scan_sock(sdp, bdp, &smaster, &hmaster)) in summarize_uvhub_sockets()
2071 make_per_hub_cpumask(hmaster); in summarize_uvhub_sockets()