64 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#ifndef _ATP870U_H3#define _ATP870U_H4 5#include <linux/types.h>6#include <linux/kdev_t.h>7 8/* I/O Port */9 10#define MAX_CDB 1211#define MAX_SENSE 1412#define qcnt 3213#define ATP870U_SCATTER 12814 15#define MAX_ADAPTER 816#define MAX_SCSI_ID 1617#define ATP870U_MAX_SECTORS 12818 19#define ATP885_DEVID 0x808A20#define ATP880_DEVID1 0x808021#define ATP880_DEVID2 0x808122 23//#define ED_DBGP24 25struct atp_unit26{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_id46 {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#endif64