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.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/misc/sgi-gru/grutables.h b/drivers/misc/sgi-gru/grutables.h
index f0c7308a36bb..d83e36715e6b 100644
--- a/drivers/misc/sgi-gru/grutables.h
+++ b/drivers/misc/sgi-gru/grutables.h
@@ -444,6 +444,7 @@ struct gru_state {
444 in use */ 444 in use */
445 struct gru_thread_state *gs_gts[GRU_NUM_CCH]; /* GTS currently using 445 struct gru_thread_state *gs_gts[GRU_NUM_CCH]; /* GTS currently using
446 the context */ 446 the context */
447 int gs_irq[GRU_NUM_TFM]; /* Interrupt irqs */
447}; 448};
448 449
449/* 450/*
@@ -610,6 +611,15 @@ static inline int is_kernel_context(struct gru_thread_state *gts)
610 return !gts->ts_mm; 611 return !gts->ts_mm;
611} 612}
612 613
614/*
615 * The following are for Nehelem-EX. A more general scheme is needed for
616 * future processors.
617 */
618#define UV_MAX_INT_CORES 8
619#define uv_cpu_socket_number(p) ((cpu_physical_id(p) >> 5) & 1)
620#define uv_cpu_ht_number(p) (cpu_physical_id(p) & 1)
621#define uv_cpu_core_number(p) (((cpu_physical_id(p) >> 2) & 4) | \
622 ((cpu_physical_id(p) >> 1) & 3))
613/*----------------------------------------------------------------------------- 623/*-----------------------------------------------------------------------------
614 * Function prototypes & externs 624 * Function prototypes & externs
615 */ 625 */
@@ -633,9 +643,11 @@ extern void gts_drop(struct gru_thread_state *gts);
633extern void gru_tgh_flush_init(struct gru_state *gru); 643extern void gru_tgh_flush_init(struct gru_state *gru);
634extern int gru_kservices_init(void); 644extern int gru_kservices_init(void);
635extern void gru_kservices_exit(void); 645extern void gru_kservices_exit(void);
646extern irqreturn_t gru0_intr(int irq, void *dev_id);
647extern irqreturn_t gru1_intr(int irq, void *dev_id);
648extern irqreturn_t gru_intr_mblade(int irq, void *dev_id);
636extern int gru_dump_chiplet_request(unsigned long arg); 649extern int gru_dump_chiplet_request(unsigned long arg);
637extern long gru_get_gseg_statistics(unsigned long arg); 650extern long gru_get_gseg_statistics(unsigned long arg);
638extern irqreturn_t gru_intr(int irq, void *dev_id);
639extern int gru_handle_user_call_os(unsigned long address); 651extern int gru_handle_user_call_os(unsigned long address);
640extern int gru_user_flush_tlb(unsigned long arg); 652extern int gru_user_flush_tlb(unsigned long arg);
641extern int gru_user_unload_context(unsigned long arg); 653extern int gru_user_unload_context(unsigned long arg);