/linux-4.19.296/drivers/misc/sgi-gru/ |
D | grumain.c | 97 static int gru_wrap_asid(struct gru_state *gru) in gru_wrap_asid() argument 99 gru_dbg(grudev, "gid %d\n", gru->gs_gid); in gru_wrap_asid() 101 gru->gs_asid_gen++; in gru_wrap_asid() 106 static int gru_reset_asid_limit(struct gru_state *gru, int asid) in gru_reset_asid_limit() argument 110 gru_dbg(grudev, "gid %d, asid 0x%x\n", gru->gs_gid, asid); in gru_reset_asid_limit() 114 asid = gru_wrap_asid(gru); in gru_reset_asid_limit() 115 gru_flush_all_tlb(gru); in gru_reset_asid_limit() 116 gid = gru->gs_gid; in gru_reset_asid_limit() 119 if (!gru->gs_gts[i] || is_kernel_context(gru->gs_gts[i])) in gru_reset_asid_limit() 121 inuse_asid = gru->gs_gts[i]->ts_gms->ms_asids[gid].mt_asid; in gru_reset_asid_limit() [all …]
|
D | grutlbpurge.c | 60 static inline int get_off_blade_tgh(struct gru_state *gru) in get_off_blade_tgh() argument 64 n = GRU_NUM_TGH - gru->gs_tgh_first_remote; in get_off_blade_tgh() 66 n += gru->gs_tgh_first_remote; in get_off_blade_tgh() 70 static inline int get_on_blade_tgh(struct gru_state *gru) in get_on_blade_tgh() argument 72 return uv_blade_processor_id() >> gru->gs_tgh_local_shift; in get_on_blade_tgh() 76 *gru) in get_lock_tgh_handle() 82 if (uv_numa_blade_id() == gru->gs_blade_id) in get_lock_tgh_handle() 83 n = get_on_blade_tgh(gru); in get_lock_tgh_handle() 85 n = get_off_blade_tgh(gru); in get_lock_tgh_handle() 86 tgh = get_tgh_by_index(gru, n); in get_lock_tgh_handle() [all …]
|
D | grufile.c | 242 static void gru_init_chiplet(struct gru_state *gru, unsigned long paddr, in gru_init_chiplet() argument 245 spin_lock_init(&gru->gs_lock); in gru_init_chiplet() 246 spin_lock_init(&gru->gs_asid_lock); in gru_init_chiplet() 247 gru->gs_gru_base_paddr = paddr; in gru_init_chiplet() 248 gru->gs_gru_base_vaddr = vaddr; in gru_init_chiplet() 249 gru->gs_gid = blade_id * GRU_CHIPLETS_PER_BLADE + chiplet_id; in gru_init_chiplet() 250 gru->gs_blade = gru_base[blade_id]; in gru_init_chiplet() 251 gru->gs_blade_id = blade_id; in gru_init_chiplet() 252 gru->gs_chiplet_id = chiplet_id; in gru_init_chiplet() 253 gru->gs_cbr_map = (GRU_CBR_AU == 64) ? ~0 : (1UL << GRU_CBR_AU) - 1; in gru_init_chiplet() [all …]
|
D | grukdump.c | 80 static int gru_dump_tfm(struct gru_state *gru, in gru_dump_tfm() argument 90 tfm = get_tfm(gru->gs_gru_base_vaddr, i); in gru_dump_tfm() 100 static int gru_dump_tgh(struct gru_state *gru, in gru_dump_tgh() argument 110 tgh = get_tgh(gru->gs_gru_base_vaddr, i); in gru_dump_tgh() 120 static int gru_dump_context(struct gru_state *gru, int ctxnum, in gru_dump_context() argument 132 grubase = gru->gs_gru_base_vaddr; in gru_dump_context() 153 gts = gru->gs_gts[ctxnum]; in gru_dump_context() 177 hdr.gid = gru->gs_gid; in gru_dump_context() 190 struct gru_state *gru; in gru_dump_chiplet_request() local 204 gru = GID_TO_GRU(req.gid); in gru_dump_chiplet_request() [all …]
|
D | grufault.c | 154 static void get_clear_fault_map(struct gru_state *gru, in get_clear_fault_map() argument 161 tfm = get_tfm_for_cpu(gru, gru_cpu_fault_map_id()); in get_clear_fault_map() 322 static void gru_preload_tlb(struct gru_state *gru, in gru_preload_tlb() argument 351 atomic ? "atomic" : "non-atomic", gru->gs_gid, gts, tfh, in gru_preload_tlb() 368 static int gru_try_dropin(struct gru_state *gru, in gru_try_dropin() argument 441 gru_preload_tlb(gru, gts, atomic, vaddr, asid, write, tlb_preload_count, tfh, cbe); in gru_try_dropin() 452 atomic ? "atomic" : "non-atomic", gru->gs_gid, gts, tfh, vaddr, asid, in gru_try_dropin() 534 struct gru_state *gru; in gru_intr() local 543 gru = &gru_base[blade]->bs_grus[chiplet]; in gru_intr() 544 if (!gru) { in gru_intr() [all …]
|
D | gruprocfs.c | 176 struct gru_state *gru = GID_TO_GRU(gid); in cch_seq_show() local 183 if (gru) in cch_seq_show() 185 ts = gru->gs_gts[i]; in cch_seq_show() 189 gru->gs_gid, gru->gs_blade_id, i, in cch_seq_show() 204 struct gru_state *gru = GID_TO_GRU(gid); in gru_seq_show() local 212 if (gru) { in gru_seq_show() 213 ctxfree = GRU_NUM_CCH - gru->gs_active_contexts; in gru_seq_show() 214 cbrfree = hweight64(gru->gs_cbr_map) * GRU_CBR_AU_SIZE; in gru_seq_show() 215 dsrfree = hweight64(gru->gs_dsr_map) * GRU_DSR_AU_BYTES; in gru_seq_show() 217 gru->gs_gid, gru->gs_blade_id, GRU_NUM_CCH - ctxfree, in gru_seq_show()
|
D | grutables.h | 523 #define for_each_gru_on_blade(gru, nid, i) \ argument 524 for ((gru) = gru_base[nid]->bs_grus, (i) = 0; \ 526 (i)++, (gru)++) 533 #define for_each_gts_on_gru(gts, gru, ctxnum) \ argument 535 if (((gts) = (gru)->gs_gts[ctxnum])) 553 #define gseg_physical_address(gru, ctxnum) \ argument 554 ((gru)->gs_gru_base_paddr + ctxnum * GRU_GSEG_STRIDE) 555 #define gseg_virtual_address(gru, ctxnum) \ argument 556 ((gru)->gs_gru_base_vaddr + ctxnum * GRU_GSEG_STRIDE) 642 extern void gru_tgh_flush_init(struct gru_state *gru); [all …]
|
D | Makefile | 3 obj-$(CONFIG_SGI_GRU) := gru.o 4 gru-y := grufile.o grumain.o grufault.o grutlbpurge.o gruprocfs.o grukservices.o gruhandles.o grukd…
|
D | grukservices.c | 154 struct gru_state *gru; in gru_load_kernel_context() local 186 gru = bs->bs_kgts->ts_gru; in gru_load_kernel_context() 187 vaddr = gru->gs_gru_base_vaddr; in gru_load_kernel_context()
|
/linux-4.19.296/drivers/misc/ |
D | Makefile | 27 obj-$(CONFIG_SGI_GRU) += sgi-gru/
|
/linux-4.19.296/ |
D | MAINTAINERS | 13135 F: drivers/misc/sgi-gru/
|