OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [include/] [asm-ia64/] [sn/] [xtalk/] [xtalk_private.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1276 phoenix
/* $Id: xtalk_private.h,v 1.1.1.1 2004-04-15 02:58:10 phoenix Exp $
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_XTALK_PRIVATE_H
10
#define _ASM_SN_XTALK_XTALK_PRIVATE_H
11
 
12
#include <asm/sn/ioerror.h>        /* for error function and arg types */
13
#include <linux/devfs_fs_kernel.h>
14
#include <asm/sn/xtalk/xwidget.h>
15
#include <asm/sn/xtalk/xtalk.h>
16
 
17
/*
18
 * xtalk_private.h -- private definitions for xtalk
19
 * crosstalk drivers should NOT include this file.
20
 */
21
 
22
/*
23
 * All Crosstalk providers set up PIO using this information.
24
 */
25
struct xtalk_piomap_s {
26
    vertex_hdl_t            xp_dev;     /* a requestor of this mapping */
27
    xwidgetnum_t            xp_target;  /* target (node's widget number) */
28
    iopaddr_t               xp_xtalk_addr;      /* which crosstalk addr is mapped */
29
    size_t                  xp_mapsz;   /* size of this mapping */
30
    caddr_t                 xp_kvaddr;  /* kernel virtual address to use */
31
};
32
 
33
/*
34
 * All Crosstalk providers set up DMA using this information.
35
 */
36
struct xtalk_dmamap_s {
37
    vertex_hdl_t            xd_dev;     /* a requestor of this mapping */
38
    xwidgetnum_t            xd_target;  /* target (node's widget number) */
39
};
40
 
41
/*
42
 * All Crosstalk providers set up interrupts using this information.
43
 */
44
struct xtalk_intr_s {
45
    vertex_hdl_t            xi_dev;     /* requestor of this intr */
46
    xwidgetnum_t            xi_target;  /* master's widget number */
47
    xtalk_intr_vector_t     xi_vector;  /* 8-bit interrupt vector */
48
    iopaddr_t               xi_addr;    /* xtalk address to generate intr */
49
    void                   *xi_sfarg;   /* argument for setfunc */
50
    xtalk_intr_setfunc_t    xi_setfunc;         /* device's setfunc routine */
51
};
52
 
53
/*
54
 * Xtalk interrupt handler structure access functions
55
 */
56
#define xtalk_intr_arg(xt)      ((xt)->xi_sfarg)
57
 
58
#define xwidget_hwid_is_sn0_xswitch(_hwid)      \
59
                (((_hwid)->part_num == XBOW_WIDGET_PART_NUM ) &&        \
60
                 ((_hwid)->mfg_num == XBOW_WIDGET_MFGR_NUM ))
61
 
62
#define xwidget_hwid_is_sn1_xswitch(_hwid)      \
63
                (((_hwid)->part_num == XXBOW_WIDGET_PART_NUM ||         \
64
                  (_hwid)->part_num == PXBOW_WIDGET_PART_NUM) &&        \
65
                 ((_hwid)->mfg_num == XXBOW_WIDGET_MFGR_NUM ))
66
 
67
#define xwidget_hwid_is_xswitch(_hwid)  \
68
                        xwidget_hwid_is_sn1_xswitch(_hwid)
69
 
70
/* common iograph info for all widgets,
71
 * stashed in FASTINFO of widget connection points.
72
 */
73
struct xwidget_info_s {
74
    char                   *w_fingerprint;
75
    vertex_hdl_t            w_vertex;   /* back pointer to vertex */
76
    xwidgetnum_t            w_id;       /* widget id */
77
    struct xwidget_hwid_s   w_hwid;     /* hardware identification (part/rev/mfg) */
78
    vertex_hdl_t            w_master;   /* CACHED widget's master */
79
    xwidgetnum_t            w_masterid;         /* CACHED widget's master's widgetnum */
80
    error_handler_f        *w_efunc;    /* error handling function */
81
    error_handler_arg_t     w_einfo;    /* first parameter for efunc */
82
    char                   *w_name;     /* canonical hwgraph name */
83
};
84
 
85
extern char             widget_info_fingerprint[];
86
 
87
#endif                          /* _ASM_SN_XTALK_XTALK_PRIVATE_H */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.