#ifndef _ATP870U_H #define _ATP870U_H #include #include /* I/O Port */ #define MAX_CDB 12 #define MAX_SENSE 14 #define qcnt 32 #define ATP870U_SCATTER 128 #define ATP870U_CMDLUN 1 #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