aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-ia64/sn/nodepda.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-ia64/sn/nodepda.h')
-rw-r--r--include/asm-ia64/sn/nodepda.h85
1 files changed, 14 insertions, 71 deletions
diff --git a/include/asm-ia64/sn/nodepda.h b/include/asm-ia64/sn/nodepda.h
index f9aa614ddb1708..a53b50cae4b60c 100644
--- a/include/asm-ia64/sn/nodepda.h
+++ b/include/asm-ia64/sn/nodepda.h
@@ -3,27 +3,21 @@
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
- * Copyright (C) 1992 - 1997, 2000-2002 Silicon Graphics, Inc. All rights reserved.
+ * Copyright (C) 1992 - 1997, 2000-2003 Silicon Graphics, Inc. All rights reserved.
*/
#ifndef _ASM_IA64_SN_NODEPDA_H
#define _ASM_IA64_SN_NODEPDA_H
#include <linux/config.h>
+#include <asm/sn/sgi.h>
#include <asm/irq.h>
#include <asm/sn/intr.h>
#include <asm/sn/router.h>
-#if defined(CONFIG_IA64_SGI_SN1)
-#include <asm/sn/sn1/synergy.h>
-#endif
#include <asm/sn/pda.h>
#include <asm/sn/module.h>
#include <asm/sn/bte.h>
-#if defined(CONFIG_IA64_SGI_SN1)
-#include <asm/sn/sn1/hubstat.h>
-#endif
-
/*
* NUMA Node-Specific Data structures are defined in this file.
* In particular, this is the location of the node PDA.
@@ -31,23 +25,6 @@
*/
/*
- * Subnode PDA structures. Each node needs a few data structures that
- * correspond to the PIs on the HUB chip that supports the node.
- */
-#if defined(CONFIG_IA64_SGI_SN1)
-struct subnodepda_s {
- intr_vecblk_t intr_dispatch0;
- intr_vecblk_t intr_dispatch1;
-};
-
-typedef struct subnodepda_s subnode_pda_t;
-
-
-struct synergy_perf_s;
-#endif
-
-
-/*
* Node-specific data structure.
*
* One of these structures is allocated on each node of a NUMA system.
@@ -66,24 +43,20 @@ struct nodepda_s {
/* the second cpu on a node is */
/* node_first_cpu+1. */
- devfs_handle_t xbow_vhdl;
+ vertex_hdl_t xbow_vhdl;
nasid_t xbow_peer; /* NASID of our peer hub on xbow */
struct semaphore xbow_sema; /* Sema for xbow synchronization */
slotid_t slotdesc;
-#ifdef CONFIG_IA64_SGI_SN2
geoid_t geoid;
-#else
- moduleid_t module_id; /* Module ID (redundant local copy) */
-#endif
module_t *module; /* Pointer to containing module */
xwidgetnum_t basew_id;
- devfs_handle_t basew_xc;
+ vertex_hdl_t basew_xc;
int hubticks;
int num_routers; /* XXX not setup! Total routers in the system */
char *hwg_node_name; /* hwgraph node name */
- devfs_handle_t node_vertex; /* Hwgraph vertex for this node */
+ vertex_hdl_t node_vertex; /* Hwgraph vertex for this node */
void *pdinfo; /* Platform-dependent per-node info */
@@ -95,27 +68,9 @@ struct nodepda_s {
/*
* The BTEs on this node are shared by the local cpus
*/
- bteinfo_t bte_if[BTES_PER_NODE]; /* Virtual Interface */
- char bte_cleanup[5 * L1_CACHE_BYTES] ____cacheline_aligned;
-
-#if defined(CONFIG_IA64_SGI_SN1)
- subnode_pda_t snpda[NUM_SUBNODES];
- /*
- * New extended memory reference counters
- */
- void *migr_refcnt_counterbase;
- void *migr_refcnt_counterbuffer;
- size_t migr_refcnt_cbsize;
- int migr_refcnt_numsets;
- hubstat_t hubstats;
- int synergy_perf_enabled;
- int synergy_perf_freq;
- spinlock_t synergy_perf_lock;
- uint64_t synergy_inactive_intervals;
- uint64_t synergy_active_intervals;
- struct synergy_perf_s *synergy_perf_data;
- struct synergy_perf_s *synergy_perf_first; /* reporting consistency .. */
-#endif /* CONFIG_IA64_SGI_SN1 */
+ struct bteinfo_s bte_if[BTES_PER_NODE]; /* Virtual Interface */
+ struct timer_list bte_recovery_timer;
+ spinlock_t bte_recovery_lock;
/*
* Array of pointers to the nodepdas for each node.
@@ -126,18 +81,16 @@ struct nodepda_s {
typedef struct nodepda_s nodepda_t;
-#ifdef CONFIG_IA64_SGI_SN2
-#define NR_IVECS 256
struct irqpda_s {
int num_irq_used;
- char irq_flags[NR_IVECS];
+ char irq_flags[NR_IRQS];
+ struct pci_dev *device_dev[NR_IRQS];
+ char share_count[NR_IRQS];
+ struct pci_dev *current;
};
typedef struct irqpda_s irqpda_t;
-#endif /* CONFIG_IA64_SGI_SN2 */
-
-
/*
* Access Functions for node PDA.
@@ -156,21 +109,11 @@ typedef struct irqpda_s irqpda_t;
#define nodepda pda->p_nodepda /* Ptr to this node's PDA */
#define NODEPDA(cnode) (nodepda->pernode_pdaindr[cnode])
-#if defined(CONFIG_IA64_SGI_SN1)
-#define subnodepda pda.p_subnodepda /* Ptr to this node's subnode PDA */
-#define SUBNODEPDA(cnode,sn) (&(NODEPDA(cnode)->snpda[sn]))
-#define SNPDA(npda,sn) (&(npda)->snpda[sn])
-#endif
-
/*
* Macros to access data structures inside nodepda
*/
-#ifdef CONFIG_IA64_SGI_SN2
#define NODE_MODULEID(cnode) geo_module((NODEPDA(cnode)->geoid))
-#else
-#define NODE_MODULEID(cnode) (NODEPDA(cnode)->module_id)
-#endif
#define NODE_SLOTID(cnode) (NODEPDA(cnode)->slotdesc)
@@ -184,8 +127,8 @@ typedef struct irqpda_s irqpda_t;
* Check if given a compact node id the corresponding node has all the
* cpus disabled.
*/
-#define is_headless_node(cnode) 0 /*((cnode == CNODEID_NONE) || \
- (node_data(cnode)->active_cpu_count == 0)) */
+#define is_headless_node(cnode) ((cnode == CNODEID_NONE) || \
+ (node_data(cnode)->active_cpu_count == 0))
/*
* Check if given a node vertex handle the corresponding node has all the