aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-ia64/sn/sn_sal.h
diff options
context:
space:
mode:
authorTony Luck <tony.luck@intel.com>2005-10-28 14:14:47 -0400
committerTony Luck <tony.luck@intel.com>2005-10-28 14:14:47 -0400
commit9189674026e86e624b1ef1b4eb430e9ad19f9641 (patch)
treed93acb6c3b2c127e997c132db61025a5653260ec /include/asm-ia64/sn/sn_sal.h
parent72ab373a5688a78cbdaf3bf96012e597d5399bb7 (diff)
parent25732ad493b22b7d9f0d250c5a9ad17219f96a47 (diff)
Pull altix-fpga-reset into release branch
Diffstat (limited to 'include/asm-ia64/sn/sn_sal.h')
-rw-r--r--include/asm-ia64/sn/sn_sal.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/include/asm-ia64/sn/sn_sal.h b/include/asm-ia64/sn/sn_sal.h
index fea35b33d4e4..34f3127e4416 100644
--- a/include/asm-ia64/sn/sn_sal.h
+++ b/include/asm-ia64/sn/sn_sal.h
@@ -47,6 +47,7 @@
47#define SN_SAL_CONSOLE_PUTB 0x02000028 47#define SN_SAL_CONSOLE_PUTB 0x02000028
48#define SN_SAL_CONSOLE_XMIT_CHARS 0x0200002a 48#define SN_SAL_CONSOLE_XMIT_CHARS 0x0200002a
49#define SN_SAL_CONSOLE_READC 0x0200002b 49#define SN_SAL_CONSOLE_READC 0x0200002b
50#define SN_SAL_SYSCTL_OP 0x02000030
50#define SN_SAL_SYSCTL_MODID_GET 0x02000031 51#define SN_SAL_SYSCTL_MODID_GET 0x02000031
51#define SN_SAL_SYSCTL_GET 0x02000032 52#define SN_SAL_SYSCTL_GET 0x02000032
52#define SN_SAL_SYSCTL_IOBRICK_MODULE_GET 0x02000033 53#define SN_SAL_SYSCTL_IOBRICK_MODULE_GET 0x02000033
@@ -101,6 +102,13 @@
101#define SAL_INTR_FREE 2 102#define SAL_INTR_FREE 2
102 103
103/* 104/*
105 * operations available on the generic SN_SAL_SYSCTL_OP
106 * runtime service
107 */
108#define SAL_SYSCTL_OP_IOBOARD 0x0001 /* retrieve board type */
109#define SAL_SYSCTL_OP_TIO_JLCK_RST 0x0002 /* issue TIO clock reset */
110
111/*
104 * IRouter (i.e. generalized system controller) operations 112 * IRouter (i.e. generalized system controller) operations
105 */ 113 */
106#define SAL_IROUTER_OPEN 0 /* open a subchannel */ 114#define SAL_IROUTER_OPEN 0 /* open a subchannel */
@@ -873,6 +881,41 @@ ia64_sn_sysctl_event_init(nasid_t nasid)
873 return (int) rv.v0; 881 return (int) rv.v0;
874} 882}
875 883
884/*
885 * Ask the system controller on the specified nasid to reset
886 * the CX corelet clock. Only valid on TIO nodes.
887 */
888static inline int
889ia64_sn_sysctl_tio_clock_reset(nasid_t nasid)
890{
891 struct ia64_sal_retval rv;
892 SAL_CALL_REENTRANT(rv, SN_SAL_SYSCTL_OP, SAL_SYSCTL_OP_TIO_JLCK_RST,
893 nasid, 0, 0, 0, 0, 0);
894 if (rv.status != 0)
895 return (int)rv.status;
896 if (rv.v0 != 0)
897 return (int)rv.v0;
898
899 return 0;
900}
901
902/*
903 * Get the associated ioboard type for a given nasid.
904 */
905static inline int
906ia64_sn_sysctl_ioboard_get(nasid_t nasid)
907{
908 struct ia64_sal_retval rv;
909 SAL_CALL_REENTRANT(rv, SN_SAL_SYSCTL_OP, SAL_SYSCTL_OP_IOBOARD,
910 nasid, 0, 0, 0, 0, 0);
911 if (rv.v0 != 0)
912 return (int)rv.v0;
913 if (rv.v1 != 0)
914 return (int)rv.v1;
915
916 return 0;
917}
918
876/** 919/**
877 * ia64_sn_get_fit_compt - read a FIT entry from the PROM header 920 * ia64_sn_get_fit_compt - read a FIT entry from the PROM header
878 * @nasid: NASID of node to read 921 * @nasid: NASID of node to read