Update ia64 patch to 2.5.72-030619
[linux-flexiantxendom0-3.2.10.git] / include / asm-ia64 / sn / xtalk / xswitch.h
1 /* $Id$
2  *
3  * This file is subject to the terms and conditions of the GNU General Public
4  * License.  See the file "COPYING" in the main directory of this archive
5  * for more details.
6  *
7  * Copyright (C) 1992-1997,2000-2003 Silicon Graphics, Inc.  All Rights Reserved.
8  */
9 #ifndef _ASM_SN_XTALK_XSWITCH_H
10 #define _ASM_SN_XTALK_XSWITCH_H
11
12 /*
13  * xswitch.h - controls the format of the data
14  * provided by xswitch verticies back to the
15  * xtalk bus providers.
16  */
17
18 #ifndef __ASSEMBLY__
19
20 #include <linux/devfs_fs_kernel.h>
21 #include <asm/sn/xtalk/xtalk.h>
22
23 typedef struct xswitch_info_s *xswitch_info_t;
24
25 typedef int
26                         xswitch_reset_link_f(vertex_hdl_t xconn);
27
28 typedef struct xswitch_provider_s {
29     xswitch_reset_link_f   *reset_link;
30 } xswitch_provider_t;
31
32 extern void             xswitch_provider_register(vertex_hdl_t sw_vhdl, xswitch_provider_t * xsw_fns);
33
34 xswitch_reset_link_f    xswitch_reset_link;
35
36 extern xswitch_info_t   xswitch_info_new(vertex_hdl_t vhdl);
37
38 extern void             xswitch_info_link_is_ok(xswitch_info_t xswitch_info,
39                                                 xwidgetnum_t port);
40 extern void             xswitch_info_vhdl_set(xswitch_info_t xswitch_info,
41                                               xwidgetnum_t port,
42                                               vertex_hdl_t xwidget);
43 extern void             xswitch_info_master_assignment_set(xswitch_info_t xswitch_info,
44                                                        xwidgetnum_t port,
45                                                vertex_hdl_t master_vhdl);
46
47 extern xswitch_info_t   xswitch_info_get(vertex_hdl_t vhdl);
48
49 extern int              xswitch_info_link_ok(xswitch_info_t xswitch_info,
50                                              xwidgetnum_t port);
51 extern vertex_hdl_t     xswitch_info_vhdl_get(xswitch_info_t xswitch_info,
52                                               xwidgetnum_t port);
53 extern vertex_hdl_t     xswitch_info_master_assignment_get(xswitch_info_t xswitch_info,
54                                                       xwidgetnum_t port);
55
56 #endif                          /* __ASSEMBLY__ */
57
58 #endif                          /* _ASM_SN_XTALK_XSWITCH_H */