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

Subversion Repositories or1k

[/] [or1k/] [tags/] [before_ORP/] [uclinux/] [uClinux-2.0.x/] [drivers/] [block/] [cpqarray.h] - Blame information for rev 901

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 199 simons
/*
2
 *    Disk Array driver for Compaq SMART2 Controllers
3
 *    Copyright 1998 Compaq Computer Corporation
4
 *
5
 *    This program is free software; you can redistribute it and/or modify
6
 *    it under the terms of the GNU General Public License as published by
7
 *    the Free Software Foundation; either version 2 of the License, or
8
 *    (at your option) any later version.
9
 *
10
 *    This program is distributed in the hope that it will be useful,
11
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 *    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
13
 *    NON INFRINGEMENT.  See the GNU General Public License for more details.
14
 *
15
 *    You should have received a copy of the GNU General Public License
16
 *    along with this program; if not, write to the Free Software
17
 *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18
 *
19
 *    Questions/Comments/Bugfixes to arrays@compaq.com
20
 *
21
 *    If you want to make changes, improve or add functionality to this
22
 *    driver, you'll probably need the Compaq Array Controller Interface
23
 *    Specificiation (Document number ECG086/1198)
24
 */
25
#ifndef CPQARRAY_H
26
#define CPQARRAY_H
27
 
28
#ifdef __KERNEL__
29
#include <linux/blkdev.h>
30
#include <linux/locks.h>
31
#include <linux/malloc.h>
32
#include <linux/config.h>
33
#include <linux/md.h>
34
#include <linux/timer.h>
35
#endif
36
 
37
#include "ida_cmd.h"
38
 
39
#define IO_OK           0
40
#define IO_ERROR        1
41
#define NWD             16
42
#define NWD_SHIFT       4
43
 
44
#define IDA_TIMER       (5*HZ)
45
#define IDA_TIMEOUT     (10*HZ)
46
 
47
#define MISC_NONFATAL_WARN      0x01
48
 
49
typedef struct {
50
        unsigned blk_size;
51
        unsigned nr_blks;
52
        unsigned cylinders;
53
        unsigned heads;
54
        unsigned sectors;
55
        int usage_count;
56
} drv_info_t;
57
 
58
#ifdef __KERNEL__
59
typedef struct {
60
        int     ctlr;
61
        char    devname[8];
62
        __u32   log_drv_map;
63
        __u32   drv_assign_map;
64
        __u32   drv_spare_map;
65
        __u32   mp_failed_drv_map;
66
 
67
        char    firm_rev[4];
68
        int     product;
69
        int     ctlr_sig;
70
 
71
        int     log_drives;
72
        int     phys_drives;
73
 
74
        __u32   board_id;
75
        __u32   vaddr;
76
        __u32   paddr;
77
        __u32   ioaddr;
78
        int     intr;
79
        int     usage_count;
80
        drv_info_t      drv[NWD];
81
        int     proc;
82
 
83
        cmdlist_t *reqQ;
84
        cmdlist_t *cmpQ;
85
        cmdlist_t *cmd_pool;
86
        __u32   *cmd_pool_bits;
87
        unsigned int Qdepth;
88
        unsigned int maxQsinceinit;
89
 
90
        unsigned int nr_requests;
91
        unsigned int nr_allocs;
92
        unsigned int nr_frees;
93
        struct timer_list timer;
94
        unsigned int misc_tflags;
95
} ctlr_info_t;
96
#endif
97
 
98
#endif /* CPQARRAY_H */

powered by: WebSVN 2.1.0

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