diff options
author | Dean Nelson <dcn@sgi.com> | 2008-07-30 01:34:09 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-30 12:41:49 -0400 |
commit | 6e41017aad9ed175ca51e4828eabc8c5cf5910be (patch) | |
tree | 388f0bd12f15d8c3d4a45d53ce99c24c33454e3a /drivers/misc/sgi-xp/xpc.h | |
parent | 97bf1aa1e1bb18de9bb1987c6eb9ad751bf08aab (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.h | 14 |
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; | |||
580 | extern struct device *xpc_chan; | 580 | extern struct device *xpc_chan; |
581 | extern int xpc_disengage_request_timelimit; | 581 | extern int xpc_disengage_request_timelimit; |
582 | extern int xpc_disengage_request_timedout; | 582 | extern int xpc_disengage_request_timedout; |
583 | extern atomic_t xpc_act_IRQ_rcvd; | 583 | extern atomic_t xpc_activate_IRQ_rcvd; |
584 | extern wait_queue_head_t xpc_act_IRQ_wq; | 584 | extern wait_queue_head_t xpc_activate_IRQ_wq; |
585 | extern void *xpc_heartbeating_to_mask; | 585 | extern void *xpc_heartbeating_to_mask; |
586 | extern irqreturn_t xpc_notify_IRQ_handler(int, void *); | 586 | extern irqreturn_t xpc_notify_IRQ_handler(int, void *); |
587 | extern void xpc_dropped_IPI_check(struct xpc_partition *); | 587 | extern void xpc_dropped_IPI_check(struct xpc_partition *); |
@@ -601,7 +601,7 @@ extern u64 (*xpc_get_IPI_flags) (struct xpc_partition *); | |||
601 | extern struct xpc_msg *(*xpc_get_deliverable_msg) (struct xpc_channel *); | 601 | extern struct xpc_msg *(*xpc_get_deliverable_msg) (struct xpc_channel *); |
602 | extern void (*xpc_initiate_partition_activation) (struct xpc_rsvd_page *, u64, | 602 | extern void (*xpc_initiate_partition_activation) (struct xpc_rsvd_page *, u64, |
603 | int); | 603 | int); |
604 | extern void (*xpc_process_act_IRQ_rcvd) (int); | 604 | extern void (*xpc_process_activate_IRQ_rcvd) (int); |
605 | extern enum xp_retval (*xpc_setup_infrastructure) (struct xpc_partition *); | 605 | extern enum xp_retval (*xpc_setup_infrastructure) (struct xpc_partition *); |
606 | extern void (*xpc_teardown_infrastructure) (struct xpc_partition *); | 606 | extern void (*xpc_teardown_infrastructure) (struct xpc_partition *); |
607 | extern void (*xpc_mark_partition_engaged) (struct xpc_partition *); | 607 | extern 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, | |||
629 | extern void (*xpc_received_msg) (struct xpc_channel *, struct xpc_msg *); | 629 | extern void (*xpc_received_msg) (struct xpc_channel *, struct xpc_msg *); |
630 | 630 | ||
631 | /* found in xpc_sn2.c */ | 631 | /* found in xpc_sn2.c */ |
632 | extern void xpc_init_sn2(void); | 632 | extern int xpc_init_sn2(void); |
633 | extern void xpc_exit_sn2(void); | ||
633 | 634 | ||
634 | /* found in xpc_uv.c */ | 635 | /* found in xpc_uv.c */ |
635 | extern void xpc_init_uv(void); | 636 | extern void xpc_init_uv(void); |
637 | extern void xpc_exit_uv(void); | ||
636 | 638 | ||
637 | /* found in xpc_partition.c */ | 639 | /* found in xpc_partition.c */ |
638 | extern int xpc_exiting; | 640 | extern int xpc_exiting; |
@@ -646,7 +648,7 @@ extern void *xpc_kmalloc_cacheline_aligned(size_t, gfp_t, void **); | |||
646 | extern struct xpc_rsvd_page *xpc_setup_rsvd_page(void); | 648 | extern struct xpc_rsvd_page *xpc_setup_rsvd_page(void); |
647 | extern void xpc_allow_IPI_ops(void); | 649 | extern void xpc_allow_IPI_ops(void); |
648 | extern void xpc_restrict_IPI_ops(void); | 650 | extern void xpc_restrict_IPI_ops(void); |
649 | extern int xpc_identify_act_IRQ_sender(void); | 651 | extern int xpc_identify_activate_IRQ_sender(void); |
650 | extern int xpc_partition_disengaged(struct xpc_partition *); | 652 | extern int xpc_partition_disengaged(struct xpc_partition *); |
651 | extern enum xp_retval xpc_mark_partition_active(struct xpc_partition *); | 653 | extern enum xp_retval xpc_mark_partition_active(struct xpc_partition *); |
652 | extern void xpc_mark_partition_inactive(struct xpc_partition *); | 654 | extern void xpc_mark_partition_inactive(struct xpc_partition *); |