| /* SPDX-License-Identifier: GPL-2.0 */ | 
 | #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 |