VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git] / drivers / scsi / atp870u.h
1 #ifndef _ATP870U_H
2 #define _ATP870U_H
3
4 #include <linux/types.h>
5
6 /* I/O Port */
7
8 #define MAX_CDB         12
9 #define MAX_SENSE       14
10 #define qcnt            32
11 #define ATP870U_SCATTER 128
12 #define ATP870U_CMDLUN  1
13
14 struct atp_unit {
15         unsigned long ioport;
16         unsigned long pciport;
17         unsigned char last_cmd;
18         unsigned char in_snd;
19         unsigned char in_int;
20         unsigned char quhdu;
21         unsigned char quendu;
22         unsigned char scam_on;
23         unsigned char global_map;
24         unsigned char chip_veru;
25         unsigned char host_idu;
26         volatile int working;
27         unsigned short wide_idu;
28         unsigned short active_idu;
29         unsigned short ultra_map;
30         unsigned short async;
31         unsigned short deviceid;
32         unsigned char ata_cdbu[16];
33         unsigned char sp[16];
34         struct scsi_cmnd *querequ[qcnt];
35         struct atp_id {
36                 unsigned char dirctu;
37                 unsigned char devspu;
38                 unsigned char devtypeu;
39                 unsigned long prdaddru;
40                 unsigned long tran_lenu;
41                 unsigned long last_lenu;
42                 unsigned char *prd_posu;
43                 unsigned char *prd_tableu;
44                 dma_addr_t prd_phys;
45                 struct scsi_cmnd *curr_req;
46         } id[16];
47         struct Scsi_Host *host;
48         struct pci_dev *pdev;
49         unsigned int unit;
50 };
51
52 #endif