aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/sgi-gru/grutables.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/misc/sgi-gru/grutables.h')
-rw-r--r--drivers/misc/sgi-gru/grutables.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/misc/sgi-gru/grutables.h b/drivers/misc/sgi-gru/grutables.h
index 76fe2987fc9f..adaf691d59f5 100644
--- a/drivers/misc/sgi-gru/grutables.h
+++ b/drivers/misc/sgi-gru/grutables.h
@@ -202,6 +202,7 @@ struct gru_stats_s {
202 atomic_long_t check_context_retarget_intr; 202 atomic_long_t check_context_retarget_intr;
203 atomic_long_t check_context_unload; 203 atomic_long_t check_context_unload;
204 atomic_long_t tlb_dropin; 204 atomic_long_t tlb_dropin;
205 atomic_long_t tlb_preload_page;
205 atomic_long_t tlb_dropin_fail_no_asid; 206 atomic_long_t tlb_dropin_fail_no_asid;
206 atomic_long_t tlb_dropin_fail_upm; 207 atomic_long_t tlb_dropin_fail_upm;
207 atomic_long_t tlb_dropin_fail_invalid; 208 atomic_long_t tlb_dropin_fail_invalid;
@@ -245,7 +246,8 @@ struct gru_stats_s {
245}; 246};
246 247
247enum mcs_op {cchop_allocate, cchop_start, cchop_interrupt, cchop_interrupt_sync, 248enum mcs_op {cchop_allocate, cchop_start, cchop_interrupt, cchop_interrupt_sync,
248 cchop_deallocate, tghop_invalidate, mcsop_last}; 249 cchop_deallocate, tfhop_write_only, tfhop_write_restart,
250 tghop_invalidate, mcsop_last};
249 251
250struct mcs_op_statistic { 252struct mcs_op_statistic {
251 atomic_long_t count; 253 atomic_long_t count;
@@ -335,6 +337,7 @@ struct gru_vma_data {
335 long vd_user_options;/* misc user option flags */ 337 long vd_user_options;/* misc user option flags */
336 int vd_cbr_au_count; 338 int vd_cbr_au_count;
337 int vd_dsr_au_count; 339 int vd_dsr_au_count;
340 unsigned char vd_tlb_preload_count;
338}; 341};
339 342
340/* 343/*
@@ -350,6 +353,7 @@ struct gru_thread_state {
350 struct gru_state *ts_gru; /* GRU where the context is 353 struct gru_state *ts_gru; /* GRU where the context is
351 loaded */ 354 loaded */
352 struct gru_mm_struct *ts_gms; /* asid & ioproc struct */ 355 struct gru_mm_struct *ts_gms; /* asid & ioproc struct */
356 unsigned char ts_tlb_preload_count; /* TLB preload pages */
353 unsigned long ts_cbr_map; /* map of allocated CBRs */ 357 unsigned long ts_cbr_map; /* map of allocated CBRs */
354 unsigned long ts_dsr_map; /* map of allocated DATA 358 unsigned long ts_dsr_map; /* map of allocated DATA
355 resources */ 359 resources */
@@ -661,7 +665,8 @@ extern int gru_proc_init(void);
661extern void gru_proc_exit(void); 665extern void gru_proc_exit(void);
662 666
663extern struct gru_thread_state *gru_alloc_gts(struct vm_area_struct *vma, 667extern struct gru_thread_state *gru_alloc_gts(struct vm_area_struct *vma,
664 int cbr_au_count, int dsr_au_count, int options, int tsid); 668 int cbr_au_count, int dsr_au_count,
669 unsigned char tlb_preload_count, int options, int tsid);
665extern unsigned long gru_reserve_cb_resources(struct gru_state *gru, 670extern unsigned long gru_reserve_cb_resources(struct gru_state *gru,
666 int cbr_au_count, char *cbmap); 671 int cbr_au_count, char *cbmap);
667extern unsigned long gru_reserve_ds_resources(struct gru_state *gru, 672extern unsigned long gru_reserve_ds_resources(struct gru_state *gru,