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 */ 59