| #ifndef _ATP870U_H | |
| #define _ATP870U_H | |
| #include <linux/types.h> | |
| #include <linux/kdev_t.h> | |
| /* I/O Port */ | |
| #define MAX_CDB 12 | |
| #define MAX_SENSE 14 | |
| #define qcnt 32 | |
| #define ATP870U_SCATTER 128 | |
| #define MAX_ADAPTER 8 | |
| #define MAX_SCSI_ID 16 | |
| #define ATP870U_MAX_SECTORS 128 | |
| #define ATP885_DEVID 0x808A | |
| #define ATP880_DEVID1 0x8080 | |
| #define ATP880_DEVID2 0x8081 | |
| //#define ED_DBGP | |
| struct atp_unit | |
| { | |
| unsigned long baseport; | |
| unsigned long ioport[2]; | |
| unsigned long pciport[2]; | |
| unsigned char last_cmd[2]; | |
| unsigned char in_snd[2]; | |
| unsigned char in_int[2]; | |
| unsigned char quhd[2]; | |
| unsigned char quend[2]; | |
| unsigned char global_map[2]; | |
| unsigned char host_id[2]; | |
| unsigned int working[2]; | |
| unsigned short wide_id[2]; | |
| unsigned short active_id[2]; | |
| unsigned short ultra_map[2]; | |
| unsigned short async[2]; | |
| unsigned char sp[2][16]; | |
| unsigned char r1f[2][16]; | |
| struct scsi_cmnd *quereq[2][qcnt]; | |
| struct atp_id | |
| { | |
| unsigned char dirct; | |
| unsigned char devsp; | |
| unsigned char devtype; | |
| unsigned long tran_len; | |
| unsigned long last_len; | |
| unsigned char *prd_pos; | |
| unsigned char *prd_table; /* Kernel address of PRD table */ | |
| dma_addr_t prd_bus; /* Bus address of PRD */ | |
| dma_addr_t prdaddr; /* Dynamically updated in driver */ | |
| struct scsi_cmnd *curr_req; | |
| } id[2][16]; | |
| struct Scsi_Host *host; | |
| struct pci_dev *pdev; | |
| unsigned int unit; | |
| }; | |
| #endif |