aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/sgi-xp/xpc.h
diff options
context:
space:
mode:
authorDean Nelson <dcn@sgi.com>2008-07-30 01:34:09 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-30 12:41:49 -0400
commit6e41017aad9ed175ca51e4828eabc8c5cf5910be (patch)
tree388f0bd12f15d8c3d4a45d53ce99c24c33454e3a /drivers/misc/sgi-xp/xpc.h
parent97bf1aa1e1bb18de9bb1987c6eb9ad751bf08aab (diff)
sgi-xp: isolate activate IRQ's hardware specific components
Isolate architecture specific code related to XPC's activate IRQ. Signed-off-by: Dean Nelson <dcn@sgi.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/misc/sgi-xp/xpc.h')
-rw-r--r--drivers/misc/sgi-xp/xpc.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/misc/sgi-xp/xpc.h b/drivers/misc/sgi-xp/xpc.h
index 6b622b091bde..1edf37512de6 100644
--- a/drivers/misc/sgi-xp/xpc.h
+++ b/drivers/misc/sgi-xp/xpc.h
@@ -480,7 +480,7 @@ struct xpc_partition {
480 u64 remote_amos_page_pa; /* phys addr of partition's amos page */ 480 u64 remote_amos_page_pa; /* phys addr of partition's amos page */
481 int remote_act_nasid; /* active part's act/deact nasid */ 481 int remote_act_nasid; /* active part's act/deact nasid */
482 int remote_act_phys_cpuid; /* active part's act/deact phys cpuid */ 482 int remote_act_phys_cpuid; /* active part's act/deact phys cpuid */
483 u32 act_IRQ_rcvd; /* IRQs since activation */ 483 u32 activate_IRQ_rcvd; /* IRQs since activation */
484 spinlock_t act_lock; /* protect updating of act_state */ 484 spinlock_t act_lock; /* protect updating of act_state */
485 u8 act_state; /* from XPC HB viewpoint */ 485 u8 act_state; /* from XPC HB viewpoint */
486 u8 remote_vars_version; /* version# of partition's vars */ 486 u8 remote_vars_version; /* version# of partition's vars */
@@ -580,8 +580,8 @@ extern struct device *xpc_part;
580extern struct device *xpc_chan; 580extern struct device *xpc_chan;
581extern int xpc_disengage_request_timelimit; 581extern int xpc_disengage_request_timelimit;
582extern int xpc_disengage_request_timedout; 582extern int xpc_disengage_request_timedout;
583extern atomic_t xpc_act_IRQ_rcvd; 583extern atomic_t xpc_activate_IRQ_rcvd;
584extern wait_queue_head_t xpc_act_IRQ_wq; 584extern wait_queue_head_t xpc_activate_IRQ_wq;
585extern void *xpc_heartbeating_to_mask; 585extern void *xpc_heartbeating_to_mask;
586extern irqreturn_t xpc_notify_IRQ_handler(int, void *); 586extern irqreturn_t xpc_notify_IRQ_handler(int, void *);
587extern void xpc_dropped_IPI_check(struct xpc_partition *); 587extern void xpc_dropped_IPI_check(struct xpc_partition *);
@@ -601,7 +601,7 @@ extern u64 (*xpc_get_IPI_flags) (struct xpc_partition *);
601extern struct xpc_msg *(*xpc_get_deliverable_msg) (struct xpc_channel *); 601extern struct xpc_msg *(*xpc_get_deliverable_msg) (struct xpc_channel *);
602extern void (*xpc_initiate_partition_activation) (struct xpc_rsvd_page *, u64, 602extern void (*xpc_initiate_partition_activation) (struct xpc_rsvd_page *, u64,
603 int); 603 int);
604extern void (*xpc_process_act_IRQ_rcvd) (int); 604extern void (*xpc_process_activate_IRQ_rcvd) (int);
605extern enum xp_retval (*xpc_setup_infrastructure) (struct xpc_partition *); 605extern enum xp_retval (*xpc_setup_infrastructure) (struct xpc_partition *);
606extern void (*xpc_teardown_infrastructure) (struct xpc_partition *); 606extern void (*xpc_teardown_infrastructure) (struct xpc_partition *);
607extern void (*xpc_mark_partition_engaged) (struct xpc_partition *); 607extern void (*xpc_mark_partition_engaged) (struct xpc_partition *);
@@ -629,10 +629,12 @@ extern enum xp_retval (*xpc_send_msg) (struct xpc_channel *, u32, void *, u16,
629extern void (*xpc_received_msg) (struct xpc_channel *, struct xpc_msg *); 629extern void (*xpc_received_msg) (struct xpc_channel *, struct xpc_msg *);
630 630
631/* found in xpc_sn2.c */ 631/* found in xpc_sn2.c */
632extern void xpc_init_sn2(void); 632extern int xpc_init_sn2(void);
633extern void xpc_exit_sn2(void);
633 634
634/* found in xpc_uv.c */ 635/* found in xpc_uv.c */
635extern void xpc_init_uv(void); 636extern void xpc_init_uv(void);
637extern void xpc_exit_uv(void);
636 638
637/* found in xpc_partition.c */ 639/* found in xpc_partition.c */
638extern int xpc_exiting; 640extern int xpc_exiting;
@@ -646,7 +648,7 @@ extern void *xpc_kmalloc_cacheline_aligned(size_t, gfp_t, void **);
646extern struct xpc_rsvd_page *xpc_setup_rsvd_page(void); 648extern struct xpc_rsvd_page *xpc_setup_rsvd_page(void);
647extern void xpc_allow_IPI_ops(void); 649extern void xpc_allow_IPI_ops(void);
648extern void xpc_restrict_IPI_ops(void); 650extern void xpc_restrict_IPI_ops(void);
649extern int xpc_identify_act_IRQ_sender(void); 651extern int xpc_identify_activate_IRQ_sender(void);
650extern int xpc_partition_disengaged(struct xpc_partition *); 652extern int xpc_partition_disengaged(struct xpc_partition *);
651extern enum xp_retval xpc_mark_partition_active(struct xpc_partition *); 653extern enum xp_retval xpc_mark_partition_active(struct xpc_partition *);
652extern void xpc_mark_partition_inactive(struct xpc_partition *); 654extern void xpc_mark_partition_inactive(struct xpc_partition *);