Commit 2d978494 authored by Alan Cox's avatar Alan Cox Committed by Linus Torvalds

[PATCH] Add ATP88x support to the ATP870U driver (Vendor patch)

Patch-by: ARTOP Corp.

Basically this adds the small bits for the new card and makes one set of items
an array because the new card is multi-channel.
Signed-off-by: default avatarAlan Cox <alan@redhat.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent f2f33312
......@@ -273,8 +273,8 @@ config SCSI_ACARD
tristate "ACARD SCSI support"
depends on PCI && SCSI
help
This driver supports the ACARD 870U/W SCSI host adapter.
This driver supports the ACARD SCSI host adapter.
Support Chip <ATP870 ATP876 ATP880 ATP885>
To compile this driver as a module, choose M here: the
module will be called atp870u.
......
This diff is collapsed.
......@@ -2,50 +2,64 @@
#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 ATP870U_CMDLUN 1
struct atp_unit {
unsigned long ioport;
unsigned long pciport;
unsigned char last_cmd;
unsigned char in_snd;
unsigned char in_int;
unsigned char quhdu;
unsigned char quendu;
#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 global_map;
unsigned char chip_veru;
unsigned char host_idu;
volatile int working;
unsigned short wide_idu;
unsigned short active_idu;
unsigned short ultra_map;
unsigned short async;
unsigned short deviceid;
unsigned char ata_cdbu[16];
unsigned char sp[16];
struct scsi_cmnd *querequ[qcnt];
struct atp_id {
unsigned char dirctu;
unsigned char devspu;
unsigned char devtypeu;
unsigned long prdaddru;
unsigned long tran_lenu;
unsigned long last_lenu;
unsigned char *prd_posu;
unsigned char *prd_tableu;
dma_addr_t prd_phys;
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;
dma_addr_t prdaddr;
struct scsi_cmnd *curr_req;
} id[16];
struct Scsi_Host *host;
struct pci_dev *pdev;
} id[2][16];
struct Scsi_Host *host;
struct pci_dev *pdev;
unsigned int unit;
};
......
......@@ -1497,6 +1497,9 @@
#define PCI_DEVICE_ID_ARTOP_AEC7612D 0x8040
#define PCI_DEVICE_ID_ARTOP_AEC7612SUW 0x8050
#define PCI_DEVICE_ID_ARTOP_8060 0x8060
#define PCI_DEVICE_ID_ARTOP_AEC67160 0x8080
#define PCI_DEVICE_ID_ARTOP_AEC67160_2 0x8081
#define PCI_DEVICE_ID_ARTOP_AEC67162 0x808a
#define PCI_VENDOR_ID_ZEITNET 0x1193
#define PCI_DEVICE_ID_ZEITNET_1221 0x0001
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment