diff options
author | Jack Steiner <steiner@sgi.com> | 2005-08-11 10:27:00 -0700 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2005-08-17 15:30:44 -0700 |
commit | 1007d02160974a46cc4fd3b1737c183c0471b88f (patch) | |
tree | 920faa4c274b19d789ad217a662e81c7b5f5453a /arch/ia64/sn/kernel/sn2 | |
parent | 2fdbb590e4f9b346e5d06cf7f85dcb7a9f2e0a48 (diff) | |
download | op-kernel-dev-1007d02160974a46cc4fd3b1737c183c0471b88f.zip op-kernel-dev-1007d02160974a46cc4fd3b1737c183c0471b88f.tar.gz |
[IA64-SGI] - New SN hardware support - no_wars
Disable some shub1-specific code when running on systems with shub2.
Signed-off-by: Jack Steiner <steiner@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64/sn/kernel/sn2')
-rw-r--r-- | arch/ia64/sn/kernel/sn2/timer_interrupt.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/arch/ia64/sn/kernel/sn2/timer_interrupt.c b/arch/ia64/sn/kernel/sn2/timer_interrupt.c index cde7375..adf5db2 100644 --- a/arch/ia64/sn/kernel/sn2/timer_interrupt.c +++ b/arch/ia64/sn/kernel/sn2/timer_interrupt.c @@ -1,7 +1,7 @@ /* * * - * Copyright (c) 2003 Silicon Graphics, Inc. All Rights Reserved. + * Copyright (c) 2005 Silicon Graphics, Inc. All Rights Reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms of version 2 of the GNU General Public License @@ -50,14 +50,16 @@ void sn_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) LED_CPU_HEARTBEAT, LED_CPU_HEARTBEAT); } - if (enable_shub_wars_1_1()) { - /* Bugfix code for SHUB 1.1 */ - if (pda->pio_shub_war_cam_addr) - *pda->pio_shub_war_cam_addr = 0x8000000000000010UL; + if (is_shub1()) { + if (enable_shub_wars_1_1()) { + /* Bugfix code for SHUB 1.1 */ + if (pda->pio_shub_war_cam_addr) + *pda->pio_shub_war_cam_addr = 0x8000000000000010UL; + } + if (pda->sn_lb_int_war_ticks == 0) + sn_lb_int_war_check(); + pda->sn_lb_int_war_ticks++; + if (pda->sn_lb_int_war_ticks >= SN_LB_INT_WAR_INTERVAL) + pda->sn_lb_int_war_ticks = 0; } - if (pda->sn_lb_int_war_ticks == 0) - sn_lb_int_war_check(); - pda->sn_lb_int_war_ticks++; - if (pda->sn_lb_int_war_ticks >= SN_LB_INT_WAR_INTERVAL) - pda->sn_lb_int_war_ticks = 0; } |