| #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 long irq; |
| 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 chip_ver; |
| unsigned char scam_on; |
| 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 short dev_id; |
| 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 |