~ubuntu-branches/debian/wheezy/linux-2.6/wheezy

« back to all changes in this revision

Viewing changes to drivers/staging/generic_serial/rio/host.h

  • Committer: Bazaar Package Importer
  • Author(s): Ben Hutchings, Ben Hutchings, Aurelien Jarno
  • Date: 2011-06-07 12:14:05 UTC
  • mfrom: (43.1.9 sid)
  • Revision ID: james.westby@ubuntu.com-20110607121405-i3h1rd7nrnd2b73h
Tags: 2.6.39-2
[ Ben Hutchings ]
* [x86] Enable BACKLIGHT_APPLE, replacing BACKLIGHT_MBP_NVIDIA
  (Closes: #627492)
* cgroups: Disable memory resource controller by default. Allow it
  to be enabled using kernel parameter 'cgroup_enable=memory'.
* rt2800usb: Enable support for more USB devices including
  Linksys WUSB600N (Closes: #596626) (this change was accidentally
  omitted from 2.6.39-1)
* [x86] Remove Celeron from list of processors supporting PAE. Most
  'Celeron M' models do not.
* Update debconf template translations:
  - Swedish (Martin Bagge) (Closes: #628932)
  - French (David Prévot) (Closes: #628191)
* aufs: Update for 2.6.39 (Closes: #627837)
* Add stable 2.6.39.1, including:
  - ext4: dont set PageUptodate in ext4_end_bio()
  - pata_cmd64x: fix boot crash on parisc (Closes: #622997, #622745)
  - ext3: Fix fs corruption when make_indexed_dir() fails
  - netfilter: nf_ct_sip: validate Content-Length in TCP SIP messages
  - sctp: fix race between sctp_bind_addr_free() and
    sctp_bind_addr_conflict()
  - sctp: fix memory leak of the ASCONF queue when free asoc
  - md/bitmap: fix saving of events_cleared and other state
  - cdc_acm: Fix oops when Droids MuIn LCD is connected
  - cx88: Fix conversion from BKL to fine-grained locks (Closes: #619827)
  - keys: Set cred->user_ns in key_replace_session_keyring (CVE-2011-2184)
  - tmpfs: fix race between truncate and writepage
  - nfs41: Correct offset for LAYOUTCOMMIT
  - xen/mmu: fix a race window causing leave_mm BUG()
  - ext4: fix possible use-after-free in ext4_remove_li_request()
  For the complete list of changes, see:
   http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.39.1
* Bump ABI to 2
* netfilter: Enable IP_SET, IP_SET_BITMAP_IP, IP_SET_BITMAP_IPMAC,
  IP_SET_BITMAP_PORT, IP_SET_HASH_IP, IP_SET_HASH_IPPORT,
  IP_SET_HASH_IPPORTIP, IP_SET_HASH_IPPORTNET, IP_SET_HASH_NET,
  IP_SET_HASH_NETPORT, IP_SET_LIST_SET, NETFILTER_XT_SET as modules
  (Closes: #629401)

[ Aurelien Jarno ]
* [mipsel/loongson-2f] Disable_SCSI_LPFC to workaround GCC ICE.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
** -----------------------------------------------------------------------------
 
3
**
 
4
**  Perle Specialix driver for Linux
 
5
**  Ported from existing RIO Driver for SCO sources.
 
6
 *
 
7
 *  (C) 1990 - 2000 Specialix International Ltd., Byfleet, Surrey, UK.
 
8
 *
 
9
 *      This program is free software; you can redistribute it and/or modify
 
10
 *      it under the terms of the GNU General Public License as published by
 
11
 *      the Free Software Foundation; either version 2 of the License, or
 
12
 *      (at your option) any later version.
 
13
 *
 
14
 *      This program is distributed in the hope that it will be useful,
 
15
 *      but WITHOUT ANY WARRANTY; without even the implied warranty of
 
16
 *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
17
 *      GNU General Public License for more details.
 
18
 *
 
19
 *      You should have received a copy of the GNU General Public License
 
20
 *      along with this program; if not, write to the Free Software
 
21
 *      Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
22
**
 
23
**      Module          : host.h
 
24
**      SID             : 1.2
 
25
**      Last Modified   : 11/6/98 11:34:10
 
26
**      Retrieved       : 11/6/98 11:34:21
 
27
**
 
28
**  ident @(#)host.h    1.2
 
29
**
 
30
** -----------------------------------------------------------------------------
 
31
*/
 
32
 
 
33
#ifndef __rio_host_h__
 
34
#define __rio_host_h__
 
35
 
 
36
/*
 
37
** the host structure - one per host card in the system.
 
38
*/
 
39
 
 
40
#define MAX_EXTRA_UNITS 64
 
41
 
 
42
/*
 
43
**    Host data structure. This is used for the software equiv. of
 
44
**    the host.
 
45
*/
 
46
struct Host {
 
47
        struct pci_dev *pdev;
 
48
        unsigned char Type;             /* RIO_EISA, RIO_MCA, ... */
 
49
        unsigned char Ivec;             /* POLLED or ivec number */
 
50
        unsigned char Mode;             /* Control stuff */
 
51
        unsigned char Slot;             /* Slot */
 
52
        void  __iomem *Caddr;           /* KV address of DPRAM */
 
53
        struct DpRam __iomem *CardP;    /* KV address of DPRAM, with overlay */
 
54
        unsigned long PaddrP;           /* Phys. address of DPRAM */
 
55
        char Name[MAX_NAME_LEN];        /* The name of the host */
 
56
        unsigned int UniqueNum;         /* host unique number */
 
57
        spinlock_t HostLock;    /* Lock structure for MPX */
 
58
        unsigned int WorkToBeDone;      /* set to true each interrupt */
 
59
        unsigned int InIntr;            /* Being serviced? */
 
60
        unsigned int IntSrvDone;        /* host's interrupt has been serviced */
 
61
        void (*Copy) (void *, void __iomem *, int);     /* copy func */
 
62
        struct timer_list timer;
 
63
        /*
 
64
         **               I M P O R T A N T !
 
65
         **
 
66
         ** The rest of this data structure is cleared to zero after
 
67
         ** a RIO_HOST_FOAD command.
 
68
         */
 
69
 
 
70
        unsigned long Flags;                    /* Whats going down */
 
71
#define RC_WAITING            0
 
72
#define RC_STARTUP            1
 
73
#define RC_RUNNING            2
 
74
#define RC_STUFFED            3
 
75
#define RC_READY              7
 
76
#define RUN_STATE             7
 
77
/*
 
78
** Boot mode applies to the way in which hosts in this system will
 
79
** boot RTAs
 
80
*/
 
81
#define RC_BOOT_ALL           0x8               /* Boot all RTAs attached */
 
82
#define RC_BOOT_OWN           0x10              /* Only boot RTAs bound to this system */
 
83
#define RC_BOOT_NONE          0x20              /* Don't boot any RTAs (slave mode) */
 
84
 
 
85
        struct Top Topology[LINKS_PER_UNIT];    /* one per link */
 
86
        struct Map Mapping[MAX_RUP];            /* Mappings for host */
 
87
        struct PHB __iomem *PhbP;               /* Pointer to the PHB array */
 
88
        unsigned short __iomem *PhbNumP;        /* Ptr to Number of PHB's */
 
89
        struct LPB __iomem *LinkStrP;           /* Link Structure Array */
 
90
        struct RUP __iomem *RupP;               /* Sixteen real rups here */
 
91
        struct PARM_MAP __iomem *ParmMapP;      /* points to the parmmap */
 
92
        unsigned int ExtraUnits[MAX_EXTRA_UNITS];       /* unknown things */
 
93
        unsigned int NumExtraBooted;            /* how many of the above */
 
94
        /*
 
95
         ** Twenty logical rups.
 
96
         ** The first sixteen are the real Rup entries (above), the last four
 
97
         ** are the link RUPs.
 
98
         */
 
99
        struct UnixRup UnixRups[MAX_RUP + LINKS_PER_UNIT];
 
100
        int timeout_id;                         /* For calling 100 ms delays */
 
101
        int timeout_sem;                        /* For calling 100 ms delays */
 
102
        unsigned long locks;                    /* long req'd for set_bit --RR */
 
103
        char ____end_marker____;
 
104
};
 
105
#define Control      CardP->DpControl
 
106
#define SetInt       CardP->DpSetInt
 
107
#define ResetTpu     CardP->DpResetTpu
 
108
#define ResetInt     CardP->DpResetInt
 
109
#define Signature    CardP->DpSignature
 
110
#define Sram1        CardP->DpSram1
 
111
#define Sram2        CardP->DpSram2
 
112
#define Sram3        CardP->DpSram3
 
113
#define Scratch      CardP->DpScratch
 
114
#define __ParmMapR   CardP->DpParmMapR
 
115
#define SLX          CardP->DpSlx
 
116
#define Revision     CardP->DpRevision
 
117
#define Unique       CardP->DpUnique
 
118
#define Year         CardP->DpYear
 
119
#define Week         CardP->DpWeek
 
120
 
 
121
#define RIO_DUMBPARM 0x0860     /* what not to expect */
 
122
 
 
123
#endif