|
Linux Kernel
3.7.1
|
#include <linux/module.h>#include <linux/moduleparam.h>#include <linux/errno.h>#include <linux/init.h>#include <linux/interrupt.h>#include <linux/kernel.h>#include <linux/slab.h>#include <linux/string.h>#include <linux/ioport.h>#include <linux/blkdev.h>#include <linux/spinlock.h>#include <linux/bitops.h>#include <asm/io.h>#include <asm/dma.h>#include <asm/irq.h>#include <scsi/scsi_ioctl.h>#include <scsi/scsi_cmnd.h>#include <scsi/scsi_device.h>#include <scsi/scsi.h>#include <scsi/scsi_host.h>#include <pcmcia/cistpl.h>#include <pcmcia/ds.h>#include <pcmcia/ciscode.h>Go to the source code of this file.
Data Structures | |
| struct | scsi_info_t |
| struct | sym53c500_data |
Macros | |
| #define | SYM53C500_DEBUG 0 |
| #define | VERBOSE_SYM53C500_DEBUG 0 |
| #define | USE_FAST_PIO 1 |
| #define | SYNC_MODE 0 /* Synchronous transfer mode */ |
| #define | C1_IMG 0x07 /* ID=7 */ |
| #define | C2_IMG 0x48 /* FE SCSI2 */ |
| #define | C3_IMG 0x20 /* CDB */ |
| #define | C4_IMG 0x04 /* ANE */ |
| #define | C5_IMG 0xa4 /* ? changed from b6= AA PI SIE POL */ |
| #define | C7_IMG 0x80 /* added for SYM53C500 t. corner */ |
| #define | TC_LSB 0x00 /* transfer counter lsb */ |
| #define | TC_MSB 0x01 /* transfer counter msb */ |
| #define | SCSI_FIFO 0x02 /* scsi fifo register */ |
| #define | CMD_REG 0x03 /* command register */ |
| #define | STAT_REG 0x04 /* status register */ |
| #define | DEST_ID 0x04 /* selection/reselection bus id */ |
| #define | INT_REG 0x05 /* interrupt status register */ |
| #define | SRTIMOUT 0x05 /* select/reselect timeout reg */ |
| #define | SEQ_REG 0x06 /* sequence step register */ |
| #define | SYNCPRD 0x06 /* synchronous transfer period */ |
| #define | FIFO_FLAGS 0x07 /* indicates # of bytes in fifo */ |
| #define | SYNCOFF 0x07 /* synchronous offset register */ |
| #define | CONFIG1 0x08 /* configuration register */ |
| #define | CLKCONV 0x09 /* clock conversion register */ |
| #define | CONFIG2 0x0B /* configuration 2 register */ |
| #define | CONFIG3 0x0C /* configuration 3 register */ |
| #define | CONFIG4 0x0D /* configuration 4 register */ |
| #define | TC_HIGH 0x0E /* transfer counter high */ |
| #define | PIO_FIFO 0x04 /* PIO FIFO registers (r/w) */ |
| #define | PIO_STATUS 0x08 /* PIO status (r/w) */ |
| #define | PIO_FLAG 0x0B /* PIO flag interrupt enable (r/w) */ |
| #define | CONFIG5 0x09 /* configuration 5 register */ |
| #define | CONFIG7 0x0d |
| #define | REG0(x) (outb(C4_IMG, (x) + CONFIG4)) |
| #define | REG1(x) outb(C7_IMG, (x) + CONFIG7); outb(C5_IMG, (x) + CONFIG5) |
| #define | DEB(x) |
| #define | VDEB(x) |
| #define | LOAD_DMA_COUNT(x, count) |
| #define | DMA_OP 0x80 |
| #define | SCSI_NOP 0x00 |
| #define | FLUSH_FIFO 0x01 |
| #define | CHIP_RESET 0x02 |
| #define | SCSI_RESET 0x03 |
| #define | RESELECT 0x40 |
| #define | SELECT_NO_ATN 0x41 |
| #define | SELECT_ATN 0x42 |
| #define | SELECT_ATN_STOP 0x43 |
| #define | ENABLE_SEL 0x44 |
| #define | DISABLE_SEL 0x45 |
| #define | SELECT_ATN3 0x46 |
| #define | RESELECT3 0x47 |
| #define | TRANSFER_INFO 0x10 |
| #define | INIT_CMD_COMPLETE 0x11 |
| #define | MSG_ACCEPT 0x12 |
| #define | TRANSFER_PAD 0x18 |
| #define | SET_ATN 0x1a |
| #define | RESET_ATN 0x1b |
| #define | SEND_MSG 0x20 |
| #define | SEND_STATUS 0x21 |
| #define | SEND_DATA 0x22 |
| #define | DISCONN_SEQ 0x23 |
| #define | TERMINATE_SEQ 0x24 |
| #define | TARG_CMD_COMPLETE 0x25 |
| #define | DISCONN 0x27 |
| #define | RECV_MSG 0x28 |
| #define | RECV_CMD 0x29 |
| #define | RECV_DATA 0x2a |
| #define | RECV_CMD_SEQ 0x2b |
| #define | TARGET_ABORT_DMA 0x04 |
Enumerations | |
| enum | Phase { idle, data_out, data_in, command_ph, status_ph, message_out, message_in, idle, data_out, data_in, command_ph, status_ph, message_out, message_in } |
Functions | |
| MODULE_AUTHOR ("Bob Tracy <[email protected]>") | |
| MODULE_DESCRIPTION ("SYM53C500 PCMCIA SCSI driver") | |
| MODULE_LICENSE ("GPL") | |
| MODULE_DEVICE_TABLE (pcmcia, sym53c500_ids) | |
| module_init (init_sym53c500_cs) | |
| module_exit (exit_sym53c500_cs) | |
| #define C1_IMG 0x07 /* ID=7 */ |
Definition at line 84 of file sym53c500_cs.c.
| #define C2_IMG 0x48 /* FE SCSI2 */ |
Definition at line 85 of file sym53c500_cs.c.
| #define C3_IMG 0x20 /* CDB */ |
Definition at line 86 of file sym53c500_cs.c.
| #define C4_IMG 0x04 /* ANE */ |
Definition at line 87 of file sym53c500_cs.c.
| #define C5_IMG 0xa4 /* ? changed from b6= AA PI SIE POL */ |
Definition at line 88 of file sym53c500_cs.c.
| #define C7_IMG 0x80 /* added for SYM53C500 t. corner */ |
Definition at line 89 of file sym53c500_cs.c.
| #define CHIP_RESET 0x02 |
Definition at line 159 of file sym53c500_cs.c.
| #define CLKCONV 0x09 /* clock conversion register */ |
Definition at line 107 of file sym53c500_cs.c.
| #define CMD_REG 0x03 /* command register */ |
Definition at line 97 of file sym53c500_cs.c.
| #define CONFIG1 0x08 /* configuration register */ |
Definition at line 106 of file sym53c500_cs.c.
| #define CONFIG2 0x0B /* configuration 2 register */ |
Definition at line 109 of file sym53c500_cs.c.
| #define CONFIG3 0x0C /* configuration 3 register */ |
Definition at line 110 of file sym53c500_cs.c.
| #define CONFIG4 0x0D /* configuration 4 register */ |
Definition at line 111 of file sym53c500_cs.c.
| #define CONFIG5 0x09 /* configuration 5 register */ |
Definition at line 127 of file sym53c500_cs.c.
| #define CONFIG7 0x0d |
Definition at line 130 of file sym53c500_cs.c.
| #define DEB | ( | x | ) |
Definition at line 140 of file sym53c500_cs.c.
| #define DEST_ID 0x04 /* selection/reselection bus id */ |
Definition at line 99 of file sym53c500_cs.c.
| #define DISABLE_SEL 0x45 |
Definition at line 166 of file sym53c500_cs.c.
| #define DISCONN 0x27 |
Definition at line 181 of file sym53c500_cs.c.
| #define DISCONN_SEQ 0x23 |
Definition at line 178 of file sym53c500_cs.c.
| #define DMA_OP 0x80 |
Definition at line 155 of file sym53c500_cs.c.
| #define ENABLE_SEL 0x44 |
Definition at line 165 of file sym53c500_cs.c.
| #define FIFO_FLAGS 0x07 /* indicates # of bytes in fifo */ |
Definition at line 104 of file sym53c500_cs.c.
| #define FLUSH_FIFO 0x01 |
Definition at line 158 of file sym53c500_cs.c.
| #define INIT_CMD_COMPLETE 0x11 |
Definition at line 170 of file sym53c500_cs.c.
| #define INT_REG 0x05 /* interrupt status register */ |
Definition at line 100 of file sym53c500_cs.c.
| #define MSG_ACCEPT 0x12 |
Definition at line 171 of file sym53c500_cs.c.
| #define PIO_FIFO 0x04 /* PIO FIFO registers (r/w) */ |
Definition at line 119 of file sym53c500_cs.c.
| #define PIO_FLAG 0x0B /* PIO flag interrupt enable (r/w) */ |
Definition at line 126 of file sym53c500_cs.c.
| #define PIO_STATUS 0x08 /* PIO status (r/w) */ |
Definition at line 123 of file sym53c500_cs.c.
| #define RECV_CMD 0x29 |
Definition at line 183 of file sym53c500_cs.c.
| #define RECV_CMD_SEQ 0x2b |
Definition at line 185 of file sym53c500_cs.c.
| #define RECV_DATA 0x2a |
Definition at line 184 of file sym53c500_cs.c.
| #define RECV_MSG 0x28 |
Definition at line 182 of file sym53c500_cs.c.
Definition at line 135 of file sym53c500_cs.c.
| #define RESELECT 0x40 |
Definition at line 161 of file sym53c500_cs.c.
| #define RESELECT3 0x47 |
Definition at line 168 of file sym53c500_cs.c.
| #define RESET_ATN 0x1b |
Definition at line 174 of file sym53c500_cs.c.
| #define SCSI_FIFO 0x02 /* scsi fifo register */ |
Definition at line 96 of file sym53c500_cs.c.
| #define SCSI_NOP 0x00 |
Definition at line 157 of file sym53c500_cs.c.
| #define SCSI_RESET 0x03 |
Definition at line 160 of file sym53c500_cs.c.
| #define SELECT_ATN 0x42 |
Definition at line 163 of file sym53c500_cs.c.
| #define SELECT_ATN3 0x46 |
Definition at line 167 of file sym53c500_cs.c.
| #define SELECT_ATN_STOP 0x43 |
Definition at line 164 of file sym53c500_cs.c.
| #define SELECT_NO_ATN 0x41 |
Definition at line 162 of file sym53c500_cs.c.
| #define SEND_DATA 0x22 |
Definition at line 177 of file sym53c500_cs.c.
| #define SEND_MSG 0x20 |
Definition at line 175 of file sym53c500_cs.c.
| #define SEND_STATUS 0x21 |
Definition at line 176 of file sym53c500_cs.c.
| #define SEQ_REG 0x06 /* sequence step register */ |
Definition at line 102 of file sym53c500_cs.c.
| #define SET_ATN 0x1a |
Definition at line 173 of file sym53c500_cs.c.
| #define SRTIMOUT 0x05 /* select/reselect timeout reg */ |
Definition at line 101 of file sym53c500_cs.c.
| #define STAT_REG 0x04 /* status register */ |
Definition at line 98 of file sym53c500_cs.c.
| #define SYM53C500_DEBUG 0 |
Definition at line 40 of file sym53c500_cs.c.
| #define SYNC_MODE 0 /* Synchronous transfer mode */ |
Definition at line 81 of file sym53c500_cs.c.
| #define SYNCOFF 0x07 /* synchronous offset register */ |
Definition at line 105 of file sym53c500_cs.c.
| #define SYNCPRD 0x06 /* synchronous transfer period */ |
Definition at line 103 of file sym53c500_cs.c.
| #define TARG_CMD_COMPLETE 0x25 |
Definition at line 180 of file sym53c500_cs.c.
| #define TARGET_ABORT_DMA 0x04 |
Definition at line 186 of file sym53c500_cs.c.
| #define TC_HIGH 0x0E /* transfer counter high */ |
Definition at line 112 of file sym53c500_cs.c.
| #define TC_LSB 0x00 /* transfer counter lsb */ |
Definition at line 94 of file sym53c500_cs.c.
| #define TC_MSB 0x01 /* transfer counter msb */ |
Definition at line 95 of file sym53c500_cs.c.
| #define TERMINATE_SEQ 0x24 |
Definition at line 179 of file sym53c500_cs.c.
| #define TRANSFER_INFO 0x10 |
Definition at line 169 of file sym53c500_cs.c.
| #define TRANSFER_PAD 0x18 |
Definition at line 172 of file sym53c500_cs.c.
| #define USE_FAST_PIO 1 |
Definition at line 47 of file sym53c500_cs.c.
| #define VDEB | ( | x | ) |
Definition at line 146 of file sym53c500_cs.c.
| #define VERBOSE_SYM53C500_DEBUG 0 |
Definition at line 41 of file sym53c500_cs.c.
| enum Phase |
| idle | |
| data_out | |
| data_in | |
| command_ph | |
| status_ph | |
| message_out | |
| message_in | |
| idle | |
| data_out | |
| data_in | |
| command_ph | |
| status_ph | |
| message_out | |
| message_in |
Definition at line 204 of file sym53c500_cs.c.
| MODULE_AUTHOR | ( | "Bob Tracy <[email protected]>" | ) |
| MODULE_DEVICE_TABLE | ( | pcmcia | , |
| sym53c500_ids | |||
| ) |
| module_exit | ( | exit_sym53c500_cs | ) |
| module_init | ( | init_sym53c500_cs | ) |
| MODULE_LICENSE | ( | "GPL" | ) |
1.8.2