gru               753 arch/x86/kernel/apic/x2apic_uv_x.c 	union uvh_rh_gam_gru_overlay_config_mmr_u gru;
gru               758 arch/x86/kernel/apic/x2apic_uv_x.c 	gru.v = c;
gru               761 arch/x86/kernel/apic/x2apic_uv_x.c 	gru_dist_base = gru.v & 0x000007fff0000000UL;
gru               789 arch/x86/kernel/apic/x2apic_uv_x.c 	union uvh_rh_gam_gru_overlay_config_mmr_u gru;
gru               794 arch/x86/kernel/apic/x2apic_uv_x.c 	gru.v = uv_read_local_mmr(UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR);
gru               795 arch/x86/kernel/apic/x2apic_uv_x.c 	if (!gru.s.enable) {
gru               801 arch/x86/kernel/apic/x2apic_uv_x.c 	if (is_uv3_hub() && gru.s3.mode) {
gru               802 arch/x86/kernel/apic/x2apic_uv_x.c 		map_gru_distributed(gru.v);
gru               806 arch/x86/kernel/apic/x2apic_uv_x.c 	base = (gru.v & mask) >> shift;
gru               141 drivers/misc/sgi-gru/grufault.c static void get_clear_fault_map(struct gru_state *gru,
gru               148 drivers/misc/sgi-gru/grufault.c 	tfm = get_tfm_for_cpu(gru, gru_cpu_fault_map_id());
gru               309 drivers/misc/sgi-gru/grufault.c static void gru_preload_tlb(struct gru_state *gru,
gru               338 drivers/misc/sgi-gru/grufault.c 			atomic ? "atomic" : "non-atomic", gru->gs_gid, gts, tfh,
gru               355 drivers/misc/sgi-gru/grufault.c static int gru_try_dropin(struct gru_state *gru,
gru               428 drivers/misc/sgi-gru/grufault.c 		gru_preload_tlb(gru, gts, atomic, vaddr, asid, write, tlb_preload_count, tfh, cbe);
gru               439 drivers/misc/sgi-gru/grufault.c 		atomic ? "atomic" : "non-atomic", gru->gs_gid, gts, tfh, vaddr, asid,
gru               521 drivers/misc/sgi-gru/grufault.c 	struct gru_state *gru;
gru               530 drivers/misc/sgi-gru/grufault.c 	gru = &gru_base[blade]->bs_grus[chiplet];
gru               531 drivers/misc/sgi-gru/grufault.c 	if (!gru) {
gru               536 drivers/misc/sgi-gru/grufault.c 	get_clear_fault_map(gru, &imap, &dmap);
gru               539 drivers/misc/sgi-gru/grufault.c 		smp_processor_id(), chiplet, gru->gs_gid,
gru               545 drivers/misc/sgi-gru/grufault.c 		cmp = gru->gs_blade->bs_async_wq;
gru               549 drivers/misc/sgi-gru/grufault.c 			gru->gs_gid, cbrnum, cmp ? cmp->done : -1);
gru               554 drivers/misc/sgi-gru/grufault.c 		tfh = get_tfh_by_index(gru, cbrnum);
gru               564 drivers/misc/sgi-gru/grufault.c 		gts = gru->gs_gts[ctxnum];
gru               579 drivers/misc/sgi-gru/grufault.c 			gru_try_dropin(gru, gts, tfh, NULL);
gru               740 drivers/misc/sgi-gru/grufault.c 	struct gru_state *gru;
gru               746 drivers/misc/sgi-gru/grufault.c 		gru = GID_TO_GRU(gid);
gru               747 drivers/misc/sgi-gru/grufault.c 		spin_lock(&gru->gs_lock);
gru               749 drivers/misc/sgi-gru/grufault.c 			gts = gru->gs_gts[ctxnum];
gru               751 drivers/misc/sgi-gru/grufault.c 				spin_unlock(&gru->gs_lock);
gru               754 drivers/misc/sgi-gru/grufault.c 				spin_lock(&gru->gs_lock);
gru               757 drivers/misc/sgi-gru/grufault.c 		spin_unlock(&gru->gs_lock);
gru               229 drivers/misc/sgi-gru/grufile.c static void gru_init_chiplet(struct gru_state *gru, unsigned long paddr,
gru               232 drivers/misc/sgi-gru/grufile.c 	spin_lock_init(&gru->gs_lock);
gru               233 drivers/misc/sgi-gru/grufile.c 	spin_lock_init(&gru->gs_asid_lock);
gru               234 drivers/misc/sgi-gru/grufile.c 	gru->gs_gru_base_paddr = paddr;
gru               235 drivers/misc/sgi-gru/grufile.c 	gru->gs_gru_base_vaddr = vaddr;
gru               236 drivers/misc/sgi-gru/grufile.c 	gru->gs_gid = blade_id * GRU_CHIPLETS_PER_BLADE + chiplet_id;
gru               237 drivers/misc/sgi-gru/grufile.c 	gru->gs_blade = gru_base[blade_id];
gru               238 drivers/misc/sgi-gru/grufile.c 	gru->gs_blade_id = blade_id;
gru               239 drivers/misc/sgi-gru/grufile.c 	gru->gs_chiplet_id = chiplet_id;
gru               240 drivers/misc/sgi-gru/grufile.c 	gru->gs_cbr_map = (GRU_CBR_AU == 64) ? ~0 : (1UL << GRU_CBR_AU) - 1;
gru               241 drivers/misc/sgi-gru/grufile.c 	gru->gs_dsr_map = (1UL << GRU_DSR_AU) - 1;
gru               242 drivers/misc/sgi-gru/grufile.c 	gru->gs_asid_limit = MAX_ASID;
gru               243 drivers/misc/sgi-gru/grufile.c 	gru_tgh_flush_init(gru);
gru               244 drivers/misc/sgi-gru/grufile.c 	if (gru->gs_gid >= gru_max_gids)
gru               245 drivers/misc/sgi-gru/grufile.c 		gru_max_gids = gru->gs_gid + 1;
gru               247 drivers/misc/sgi-gru/grufile.c 		blade_id, gru->gs_gid, gru->gs_gru_base_vaddr,
gru               248 drivers/misc/sgi-gru/grufile.c 		gru->gs_gru_base_paddr);
gru               257 drivers/misc/sgi-gru/grufile.c 	struct gru_state *gru;
gru               277 drivers/misc/sgi-gru/grufile.c 		for (gru = gru_base[bid]->bs_grus, chip = 0;
gru               279 drivers/misc/sgi-gru/grufile.c 				chip++, gru++) {
gru               282 drivers/misc/sgi-gru/grufile.c 			gru_init_chiplet(gru, paddr, vaddr, bid, chip);
gru               283 drivers/misc/sgi-gru/grufile.c 			n = hweight64(gru->gs_cbr_map) * GRU_CBR_AU_SIZE;
gru               285 drivers/misc/sgi-gru/grufile.c 			n = hweight64(gru->gs_dsr_map) * GRU_DSR_AU_BYTES;
gru                67 drivers/misc/sgi-gru/grukdump.c static int gru_dump_tfm(struct gru_state *gru,
gru                77 drivers/misc/sgi-gru/grukdump.c 		tfm = get_tfm(gru->gs_gru_base_vaddr, i);
gru                87 drivers/misc/sgi-gru/grukdump.c static int gru_dump_tgh(struct gru_state *gru,
gru                97 drivers/misc/sgi-gru/grukdump.c 		tgh = get_tgh(gru->gs_gru_base_vaddr, i);
gru               107 drivers/misc/sgi-gru/grukdump.c static int gru_dump_context(struct gru_state *gru, int ctxnum,
gru               119 drivers/misc/sgi-gru/grukdump.c 	grubase = gru->gs_gru_base_vaddr;
gru               140 drivers/misc/sgi-gru/grukdump.c 		gts = gru->gs_gts[ctxnum];
gru               164 drivers/misc/sgi-gru/grukdump.c 	hdr.gid = gru->gs_gid;
gru               177 drivers/misc/sgi-gru/grukdump.c 	struct gru_state *gru;
gru               191 drivers/misc/sgi-gru/grukdump.c 	gru = GID_TO_GRU(req.gid);
gru               195 drivers/misc/sgi-gru/grukdump.c 	ret = gru_dump_tfm(gru, ubuf, ubufend);
gru               200 drivers/misc/sgi-gru/grukdump.c 	ret = gru_dump_tgh(gru, ubuf, ubufend);
gru               207 drivers/misc/sgi-gru/grukdump.c 			ret = gru_dump_context(gru, ctxnum, ubuf, ubufend,
gru               141 drivers/misc/sgi-gru/grukservices.c 	struct gru_state *gru;
gru               173 drivers/misc/sgi-gru/grukservices.c 		gru = bs->bs_kgts->ts_gru;
gru               174 drivers/misc/sgi-gru/grukservices.c 		vaddr = gru->gs_gru_base_vaddr;
gru                84 drivers/misc/sgi-gru/grumain.c static int gru_wrap_asid(struct gru_state *gru)
gru                86 drivers/misc/sgi-gru/grumain.c 	gru_dbg(grudev, "gid %d\n", gru->gs_gid);
gru                88 drivers/misc/sgi-gru/grumain.c 	gru->gs_asid_gen++;
gru                93 drivers/misc/sgi-gru/grumain.c static int gru_reset_asid_limit(struct gru_state *gru, int asid)
gru                97 drivers/misc/sgi-gru/grumain.c 	gru_dbg(grudev, "gid %d, asid 0x%x\n", gru->gs_gid, asid);
gru               101 drivers/misc/sgi-gru/grumain.c 		asid = gru_wrap_asid(gru);
gru               102 drivers/misc/sgi-gru/grumain.c 	gru_flush_all_tlb(gru);
gru               103 drivers/misc/sgi-gru/grumain.c 	gid = gru->gs_gid;
gru               106 drivers/misc/sgi-gru/grumain.c 		if (!gru->gs_gts[i] || is_kernel_context(gru->gs_gts[i]))
gru               108 drivers/misc/sgi-gru/grumain.c 		inuse_asid = gru->gs_gts[i]->ts_gms->ms_asids[gid].mt_asid;
gru               110 drivers/misc/sgi-gru/grumain.c 			gru->gs_gid, gru->gs_gts[i], gru->gs_gts[i]->ts_gms,
gru               121 drivers/misc/sgi-gru/grumain.c 					asid = gru_wrap_asid(gru);
gru               129 drivers/misc/sgi-gru/grumain.c 	gru->gs_asid_limit = limit;
gru               130 drivers/misc/sgi-gru/grumain.c 	gru->gs_asid = asid;
gru               131 drivers/misc/sgi-gru/grumain.c 	gru_dbg(grudev, "gid %d, new asid 0x%x, new_limit 0x%x\n", gru->gs_gid,
gru               137 drivers/misc/sgi-gru/grumain.c static int gru_assign_asid(struct gru_state *gru)
gru               141 drivers/misc/sgi-gru/grumain.c 	gru->gs_asid += ASID_INC;
gru               142 drivers/misc/sgi-gru/grumain.c 	asid = gru->gs_asid;
gru               143 drivers/misc/sgi-gru/grumain.c 	if (asid >= gru->gs_asid_limit)
gru               144 drivers/misc/sgi-gru/grumain.c 		asid = gru_reset_asid_limit(gru, asid);
gru               146 drivers/misc/sgi-gru/grumain.c 	gru_dbg(grudev, "gid %d, asid 0x%x\n", gru->gs_gid, asid);
gru               172 drivers/misc/sgi-gru/grumain.c unsigned long gru_reserve_cb_resources(struct gru_state *gru, int cbr_au_count,
gru               175 drivers/misc/sgi-gru/grumain.c 	return reserve_resources(&gru->gs_cbr_map, cbr_au_count, GRU_CBR_AU,
gru               179 drivers/misc/sgi-gru/grumain.c unsigned long gru_reserve_ds_resources(struct gru_state *gru, int dsr_au_count,
gru               182 drivers/misc/sgi-gru/grumain.c 	return reserve_resources(&gru->gs_dsr_map, dsr_au_count, GRU_DSR_AU,
gru               186 drivers/misc/sgi-gru/grumain.c static void reserve_gru_resources(struct gru_state *gru,
gru               189 drivers/misc/sgi-gru/grumain.c 	gru->gs_active_contexts++;
gru               191 drivers/misc/sgi-gru/grumain.c 	    gru_reserve_cb_resources(gru, gts->ts_cbr_au_count,
gru               194 drivers/misc/sgi-gru/grumain.c 	    gru_reserve_ds_resources(gru, gts->ts_dsr_au_count, NULL);
gru               197 drivers/misc/sgi-gru/grumain.c static void free_gru_resources(struct gru_state *gru,
gru               200 drivers/misc/sgi-gru/grumain.c 	gru->gs_active_contexts--;
gru               201 drivers/misc/sgi-gru/grumain.c 	gru->gs_cbr_map |= gts->ts_cbr_map;
gru               202 drivers/misc/sgi-gru/grumain.c 	gru->gs_dsr_map |= gts->ts_dsr_map;
gru               212 drivers/misc/sgi-gru/grumain.c static int check_gru_resources(struct gru_state *gru, int cbr_au_count,
gru               215 drivers/misc/sgi-gru/grumain.c 	return hweight64(gru->gs_cbr_map) >= cbr_au_count
gru               216 drivers/misc/sgi-gru/grumain.c 		&& hweight64(gru->gs_dsr_map) >= dsr_au_count
gru               217 drivers/misc/sgi-gru/grumain.c 		&& gru->gs_active_contexts < max_active_contexts;
gru               224 drivers/misc/sgi-gru/grumain.c static int gru_load_mm_tracker(struct gru_state *gru,
gru               228 drivers/misc/sgi-gru/grumain.c 	struct gru_mm_tracker *asids = &gms->ms_asids[gru->gs_gid];
gru               235 drivers/misc/sgi-gru/grumain.c 	spin_lock(&gru->gs_asid_lock);
gru               237 drivers/misc/sgi-gru/grumain.c 			  gru->gs_asid_gen)) {
gru               238 drivers/misc/sgi-gru/grumain.c 		asid = gru_assign_asid(gru);
gru               240 drivers/misc/sgi-gru/grumain.c 		asids->mt_asid_gen = gru->gs_asid_gen;
gru               245 drivers/misc/sgi-gru/grumain.c 	spin_unlock(&gru->gs_asid_lock);
gru               249 drivers/misc/sgi-gru/grumain.c 	if (!test_bit(gru->gs_gid, gms->ms_asidmap))
gru               250 drivers/misc/sgi-gru/grumain.c 		__set_bit(gru->gs_gid, gms->ms_asidmap);
gru               255 drivers/misc/sgi-gru/grumain.c 		gru->gs_gid, gts, gms, gts->ts_ctxnum, asid,
gru               260 drivers/misc/sgi-gru/grumain.c static void gru_unload_mm_tracker(struct gru_state *gru,
gru               267 drivers/misc/sgi-gru/grumain.c 	asids = &gms->ms_asids[gru->gs_gid];
gru               270 drivers/misc/sgi-gru/grumain.c 	spin_lock(&gru->gs_asid_lock);
gru               274 drivers/misc/sgi-gru/grumain.c 		gru->gs_gid, gts, gms, gts->ts_ctxnum, gms->ms_asidmap[0]);
gru               275 drivers/misc/sgi-gru/grumain.c 	spin_unlock(&gru->gs_asid_lock);
gru               426 drivers/misc/sgi-gru/grumain.c 	struct gru_state *gru;
gru               428 drivers/misc/sgi-gru/grumain.c 	gru = gts->ts_gru;
gru               429 drivers/misc/sgi-gru/grumain.c 	gru_dbg(grudev, "gts %p, gid %d\n", gts, gru->gs_gid);
gru               431 drivers/misc/sgi-gru/grumain.c 	spin_lock(&gru->gs_lock);
gru               432 drivers/misc/sgi-gru/grumain.c 	gru->gs_gts[gts->ts_ctxnum] = NULL;
gru               433 drivers/misc/sgi-gru/grumain.c 	free_gru_resources(gru, gts);
gru               434 drivers/misc/sgi-gru/grumain.c 	BUG_ON(test_bit(gts->ts_ctxnum, &gru->gs_context_map) == 0);
gru               435 drivers/misc/sgi-gru/grumain.c 	__clear_bit(gts->ts_ctxnum, &gru->gs_context_map);
gru               439 drivers/misc/sgi-gru/grumain.c 	spin_unlock(&gru->gs_lock);
gru               544 drivers/misc/sgi-gru/grumain.c 	struct gru_state *gru = gts->ts_gru;
gru               550 drivers/misc/sgi-gru/grumain.c 	cch = get_cch(gru->gs_gru_base_vaddr, ctxnum);
gru               559 drivers/misc/sgi-gru/grumain.c 		gru_unload_mm_tracker(gru, gts);
gru               561 drivers/misc/sgi-gru/grumain.c 		gru_unload_context_data(gts->ts_gdata, gru->gs_gru_base_vaddr,
gru               580 drivers/misc/sgi-gru/grumain.c 	struct gru_state *gru = gts->ts_gru;
gru               584 drivers/misc/sgi-gru/grumain.c 	cch = get_cch(gru->gs_gru_base_vaddr, ctxnum);
gru               613 drivers/misc/sgi-gru/grumain.c 		asid = gru_load_mm_tracker(gru, gts);
gru               628 drivers/misc/sgi-gru/grumain.c 	gru_load_context_data(gts->ts_gdata, gru->gs_gru_base_vaddr, ctxnum,
gru               648 drivers/misc/sgi-gru/grumain.c 	struct gru_state *gru = gts->ts_gru;
gru               651 drivers/misc/sgi-gru/grumain.c 	cch = get_cch(gru->gs_gru_base_vaddr, ctxnum);
gru               655 drivers/misc/sgi-gru/grumain.c 		if (gru->gs_gts[gts->ts_ctxnum] != gts)
gru               699 drivers/misc/sgi-gru/grumain.c static int gru_check_chiplet_assignment(struct gru_state *gru,
gru               710 drivers/misc/sgi-gru/grumain.c 	return gru->gs_blade_id == blade_id &&
gru               711 drivers/misc/sgi-gru/grumain.c 		(chiplet_id < 0 || chiplet_id == gru->gs_chiplet_id);
gru               721 drivers/misc/sgi-gru/grumain.c 	struct gru_state *gru;
gru               728 drivers/misc/sgi-gru/grumain.c 	gru = gts->ts_gru;
gru               729 drivers/misc/sgi-gru/grumain.c 	if (!gru || gts->ts_tgid_owner != current->tgid)
gru               732 drivers/misc/sgi-gru/grumain.c 	if (!gru_check_chiplet_assignment(gru, gts)) {
gru               773 drivers/misc/sgi-gru/grumain.c 	struct gru_state *gru, *gru0;
gru               788 drivers/misc/sgi-gru/grumain.c 	gru = blade->bs_lru_gru;
gru               790 drivers/misc/sgi-gru/grumain.c 		gru = next_gru(blade, gru);
gru               791 drivers/misc/sgi-gru/grumain.c 	blade->bs_lru_gru = gru;
gru               794 drivers/misc/sgi-gru/grumain.c 	gru0 = gru;
gru               796 drivers/misc/sgi-gru/grumain.c 		if (gru_check_chiplet_assignment(gru, gts)) {
gru               797 drivers/misc/sgi-gru/grumain.c 			if (check_gru_resources(gru, cbr, dsr, GRU_NUM_CCH))
gru               799 drivers/misc/sgi-gru/grumain.c 			spin_lock(&gru->gs_lock);
gru               801 drivers/misc/sgi-gru/grumain.c 				if (flag && gru == gru0 && ctxnum == ctxnum0)
gru               803 drivers/misc/sgi-gru/grumain.c 				ngts = gru->gs_gts[ctxnum];
gru               814 drivers/misc/sgi-gru/grumain.c 			spin_unlock(&gru->gs_lock);
gru               815 drivers/misc/sgi-gru/grumain.c 			if (ngts || (flag && gru == gru0 && ctxnum == ctxnum0))
gru               818 drivers/misc/sgi-gru/grumain.c 		if (flag && gru == gru0)
gru               822 drivers/misc/sgi-gru/grumain.c 		gru = next_gru(blade, gru);
gru               837 drivers/misc/sgi-gru/grumain.c 		gru->gs_gid, ctxnum, ngts, cbr, dsr, hweight64(gru->gs_cbr_map),
gru               838 drivers/misc/sgi-gru/grumain.c 		hweight64(gru->gs_dsr_map));
gru               844 drivers/misc/sgi-gru/grumain.c static int gru_assign_context_number(struct gru_state *gru)
gru               848 drivers/misc/sgi-gru/grumain.c 	ctxnum = find_first_zero_bit(&gru->gs_context_map, GRU_NUM_CCH);
gru               849 drivers/misc/sgi-gru/grumain.c 	__set_bit(ctxnum, &gru->gs_context_map);
gru               858 drivers/misc/sgi-gru/grumain.c 	struct gru_state *gru, *grux;
gru               865 drivers/misc/sgi-gru/grumain.c 	gru = NULL;
gru               873 drivers/misc/sgi-gru/grumain.c 			gru = grux;
gru               880 drivers/misc/sgi-gru/grumain.c 	if (gru) {
gru               881 drivers/misc/sgi-gru/grumain.c 		spin_lock(&gru->gs_lock);
gru               882 drivers/misc/sgi-gru/grumain.c 		if (!check_gru_resources(gru, gts->ts_cbr_au_count,
gru               884 drivers/misc/sgi-gru/grumain.c 			spin_unlock(&gru->gs_lock);
gru               887 drivers/misc/sgi-gru/grumain.c 		reserve_gru_resources(gru, gts);
gru               888 drivers/misc/sgi-gru/grumain.c 		gts->ts_gru = gru;
gru               889 drivers/misc/sgi-gru/grumain.c 		gts->ts_blade = gru->gs_blade_id;
gru               890 drivers/misc/sgi-gru/grumain.c 		gts->ts_ctxnum = gru_assign_context_number(gru);
gru               892 drivers/misc/sgi-gru/grumain.c 		gru->gs_gts[gts->ts_ctxnum] = gts;
gru               893 drivers/misc/sgi-gru/grumain.c 		spin_unlock(&gru->gs_lock);
gru               906 drivers/misc/sgi-gru/grumain.c 	return gru;
gru               163 drivers/misc/sgi-gru/gruprocfs.c 	struct gru_state *gru = GID_TO_GRU(gid);
gru               170 drivers/misc/sgi-gru/gruprocfs.c 	if (gru)
gru               172 drivers/misc/sgi-gru/gruprocfs.c 			ts = gru->gs_gts[i];
gru               176 drivers/misc/sgi-gru/gruprocfs.c 				   gru->gs_gid, gru->gs_blade_id, i,
gru               191 drivers/misc/sgi-gru/gruprocfs.c 	struct gru_state *gru = GID_TO_GRU(gid);
gru               199 drivers/misc/sgi-gru/gruprocfs.c 	if (gru) {
gru               200 drivers/misc/sgi-gru/gruprocfs.c 		ctxfree = GRU_NUM_CCH - gru->gs_active_contexts;
gru               201 drivers/misc/sgi-gru/gruprocfs.c 		cbrfree = hweight64(gru->gs_cbr_map) * GRU_CBR_AU_SIZE;
gru               202 drivers/misc/sgi-gru/gruprocfs.c 		dsrfree = hweight64(gru->gs_dsr_map) * GRU_DSR_AU_BYTES;
gru               204 drivers/misc/sgi-gru/gruprocfs.c 			   gru->gs_gid, gru->gs_blade_id, GRU_NUM_CCH - ctxfree,
gru               508 drivers/misc/sgi-gru/grutables.h #define for_each_gru_on_blade(gru, nid, i)				\
gru               509 drivers/misc/sgi-gru/grutables.h 	for ((gru) = gru_base[nid]->bs_grus, (i) = 0;			\
gru               511 drivers/misc/sgi-gru/grutables.h 			(i)++, (gru)++)
gru               518 drivers/misc/sgi-gru/grutables.h #define for_each_gts_on_gru(gts, gru, ctxnum)				\
gru               520 drivers/misc/sgi-gru/grutables.h 		if (((gts) = (gru)->gs_gts[ctxnum]))
gru               538 drivers/misc/sgi-gru/grutables.h #define gseg_physical_address(gru, ctxnum)				\
gru               539 drivers/misc/sgi-gru/grutables.h 		((gru)->gs_gru_base_paddr + ctxnum * GRU_GSEG_STRIDE)
gru               540 drivers/misc/sgi-gru/grutables.h #define gseg_virtual_address(gru, ctxnum)				\
gru               541 drivers/misc/sgi-gru/grutables.h 		((gru)->gs_gru_base_vaddr + ctxnum * GRU_GSEG_STRIDE)
gru               627 drivers/misc/sgi-gru/grutables.h extern void gru_tgh_flush_init(struct gru_state *gru);
gru               643 drivers/misc/sgi-gru/grutables.h extern void gru_flush_all_tlb(struct gru_state *gru);
gru               650 drivers/misc/sgi-gru/grutables.h extern unsigned long gru_reserve_cb_resources(struct gru_state *gru,
gru               652 drivers/misc/sgi-gru/grutables.h extern unsigned long gru_reserve_ds_resources(struct gru_state *gru,
gru                47 drivers/misc/sgi-gru/grutlbpurge.c static inline int get_off_blade_tgh(struct gru_state *gru)
gru                51 drivers/misc/sgi-gru/grutlbpurge.c 	n = GRU_NUM_TGH - gru->gs_tgh_first_remote;
gru                53 drivers/misc/sgi-gru/grutlbpurge.c 	n += gru->gs_tgh_first_remote;
gru                57 drivers/misc/sgi-gru/grutlbpurge.c static inline int get_on_blade_tgh(struct gru_state *gru)
gru                59 drivers/misc/sgi-gru/grutlbpurge.c 	return uv_blade_processor_id() >> gru->gs_tgh_local_shift;
gru                63 drivers/misc/sgi-gru/grutlbpurge.c 							 *gru)
gru                69 drivers/misc/sgi-gru/grutlbpurge.c 	if (uv_numa_blade_id() == gru->gs_blade_id)
gru                70 drivers/misc/sgi-gru/grutlbpurge.c 		n = get_on_blade_tgh(gru);
gru                72 drivers/misc/sgi-gru/grutlbpurge.c 		n = get_off_blade_tgh(gru);
gru                73 drivers/misc/sgi-gru/grutlbpurge.c 	tgh = get_tgh_by_index(gru, n);
gru               148 drivers/misc/sgi-gru/grutlbpurge.c 	struct gru_state *gru;
gru               167 drivers/misc/sgi-gru/grutlbpurge.c 		gru = GID_TO_GRU(gid);
gru               176 drivers/misc/sgi-gru/grutlbpurge.c 			tgh = get_lock_tgh_handle(gru);
gru               183 drivers/misc/sgi-gru/grutlbpurge.c 			__clear_bit(gru->gs_gid, gms->ms_asidmap);
gru               196 drivers/misc/sgi-gru/grutlbpurge.c void gru_flush_all_tlb(struct gru_state *gru)
gru               200 drivers/misc/sgi-gru/grutlbpurge.c 	gru_dbg(grudev, "gid %d\n", gru->gs_gid);
gru               201 drivers/misc/sgi-gru/grutlbpurge.c 	tgh = get_lock_tgh_handle(gru);
gru               295 drivers/misc/sgi-gru/grutlbpurge.c void gru_tgh_flush_init(struct gru_state *gru)
gru               299 drivers/misc/sgi-gru/grutlbpurge.c 	cpus = uv_blade_nr_possible_cpus(gru->gs_blade_id);
gru               313 drivers/misc/sgi-gru/grutlbpurge.c 	gru->gs_tgh_local_shift = shift;
gru               316 drivers/misc/sgi-gru/grutlbpurge.c 	gru->gs_tgh_first_remote = (cpus + (1 << shift) - 1) >> shift;