atp870u.h (1387B)
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef _ATP870U_H 3#define _ATP870U_H 4 5#include <linux/types.h> 6#include <linux/kdev_t.h> 7 8/* I/O Port */ 9 10#define MAX_CDB 12 11#define MAX_SENSE 14 12#define qcnt 32 13#define ATP870U_SCATTER 128 14 15#define MAX_ADAPTER 8 16#define MAX_SCSI_ID 16 17#define ATP870U_MAX_SECTORS 128 18 19#define ATP885_DEVID 0x808A 20#define ATP880_DEVID1 0x8080 21#define ATP880_DEVID2 0x8081 22 23//#define ED_DBGP 24 25struct atp_unit 26{ 27 unsigned long baseport; 28 unsigned long ioport[2]; 29 unsigned long pciport[2]; 30 unsigned char last_cmd[2]; 31 unsigned char in_snd[2]; 32 unsigned char in_int[2]; 33 unsigned char quhd[2]; 34 unsigned char quend[2]; 35 unsigned char global_map[2]; 36 unsigned char host_id[2]; 37 unsigned int working[2]; 38 unsigned short wide_id[2]; 39 unsigned short active_id[2]; 40 unsigned short ultra_map[2]; 41 unsigned short async[2]; 42 unsigned char sp[2][16]; 43 unsigned char r1f[2][16]; 44 struct scsi_cmnd *quereq[2][qcnt]; 45 struct atp_id 46 { 47 unsigned char dirct; 48 unsigned char devsp; 49 unsigned char devtype; 50 unsigned long tran_len; 51 unsigned long last_len; 52 unsigned char *prd_pos; 53 unsigned char *prd_table; /* Kernel address of PRD table */ 54 dma_addr_t prd_bus; /* Bus address of PRD */ 55 dma_addr_t prdaddr; /* Dynamically updated in driver */ 56 struct scsi_cmnd *curr_req; 57 } id[2][16]; 58 struct Scsi_Host *host; 59 struct pci_dev *pdev; 60 unsigned int unit; 61}; 62 63#endif