Commit 65e45205 authored by Linus Torvalds's avatar Linus Torvalds

Update the PCMCIA driver for the NinjaSCSI-3 by YOKOTA Hiroshi

parent e8f064c2
...@@ -37,6 +37,29 @@ config PCMCIA_NINJA_SCSI ...@@ -37,6 +37,29 @@ config PCMCIA_NINJA_SCSI
your computer, say Y here and read your computer, say Y here and read
<file:Documentation/scsi/NinjaSCSI.txt>. <file:Documentation/scsi/NinjaSCSI.txt>.
Supported cards:
NinjaSCSI-3: (version string: "WBT","NinjaSCSI-3","R1.0")
IO-DATA PCSC-FP
ALPHA DATA AD-PCS201
CyQ've SFC-201
LOGITECH LPM-SCSI2E
Pioneer PCR-PR24's card
I-O DATA CDPS-PX24's card (PCSC-F)
Panasonic KXL-RW10AN CD-RW's card
etc.
NinjaSCSI-32Bit (in 16bit mode):
[Workbit (version string: "WORKBIT","UltraNinja-16","1")]
Jazz SCP050
[I-O DATA (OEM) (version string: "IO DATA","CBSC16 ","1")]
I-O DATA CBSC-II
[Kyusyu Matsushita Kotobuki (OEM)
(version string: "KME ","SCSI-CARD-001","1")]
KME KXL-820AN's card
HP M820e CDRW's card
etc.
This driver is also available as a module called nsp_cs ( = This driver is also available as a module called nsp_cs ( =
code which can be inserted in and removed from the running kernel code which can be inserted in and removed from the running kernel
whenever you want). If you want to compile it as a module, say M whenever you want). If you want to compile it as a module, say M
......
This diff is collapsed.
This diff is collapsed.
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
the GNU General Public License. the GNU General Public License.
=========================================================================*/ =========================================================================*/
/* $Id: nsp_debug.c,v 1.2 2002/09/20 04:06:58 gotom Exp $ */ /* $Id: nsp_debug.c,v 1.3 2003/07/26 14:21:09 elca Exp $ */
/* /*
* Show the command data of a command * Show the command data of a command
...@@ -138,9 +138,9 @@ static void print_commandk (unsigned char *command) ...@@ -138,9 +138,9 @@ static void print_commandk (unsigned char *command)
printk("\n"); printk("\n");
} }
static void show_command(Scsi_Cmnd *ptr) static void show_command(Scsi_Cmnd *SCpnt)
{ {
print_commandk(ptr->cmnd); print_commandk(SCpnt->cmnd);
} }
static void show_phase(Scsi_Cmnd *SCpnt) static void show_phase(Scsi_Cmnd *SCpnt)
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
*/ */
/* $Id: nsp_io.h,v 1.2 2002/09/20 04:06:58 gotom Exp $ */ /* $Id: nsp_io.h,v 1.3 2003/08/04 21:15:26 elca Exp $ */
#ifndef __NSP_IO_H__ #ifndef __NSP_IO_H__
#define __NSP_IO_H__ #define __NSP_IO_H__
...@@ -76,7 +76,7 @@ static inline void nsp_fifo8_read(unsigned int base, ...@@ -76,7 +76,7 @@ static inline void nsp_fifo8_read(unsigned int base,
void *buf, void *buf,
unsigned long count) unsigned long count)
{ {
/*DEBUG(0, __FUNCTION__ "() buf=0x%p, count=0x%lx\n", buf, count);*/ /*nsp_dbg(NSP_DEBUG_DATA_IO, "buf=0x%p, count=0x%lx", buf, count);*/
nsp_multi_read_1(base, FIFODATA, buf, count); nsp_multi_read_1(base, FIFODATA, buf, count);
} }
...@@ -95,7 +95,7 @@ static inline void nsp_fifo16_read(unsigned int base, ...@@ -95,7 +95,7 @@ static inline void nsp_fifo16_read(unsigned int base,
void *buf, void *buf,
unsigned long count) unsigned long count)
{ {
//DEBUG(0, __FUNCTION__ "() buf=0x%p, count=0x%lx*2\n", buf, count); //nsp_dbg(NSP_DEBUG_DATA_IO, "buf=0x%p, count=0x%lx*2", buf, count);
nsp_multi_read_2(base, FIFODATA, buf, count); nsp_multi_read_2(base, FIFODATA, buf, count);
} }
...@@ -114,7 +114,7 @@ static inline void nsp_fifo32_read(unsigned int base, ...@@ -114,7 +114,7 @@ static inline void nsp_fifo32_read(unsigned int base,
void *buf, void *buf,
unsigned long count) unsigned long count)
{ {
//DEBUG(0, __FUNCTION__ "() buf=0x%p, count=0x%lx*4\n", buf, count); //nsp_dbg(NSP_DEBUG_DATA_IO, "buf=0x%p, count=0x%lx*4", buf, count);
nsp_multi_read_4(base, FIFODATA, buf, count); nsp_multi_read_4(base, FIFODATA, buf, count);
} }
...@@ -225,11 +225,11 @@ static inline void nsp_mmio_multi_read_4(unsigned long base, ...@@ -225,11 +225,11 @@ static inline void nsp_mmio_multi_read_4(unsigned long base,
unsigned long *tmp = (unsigned long *)buf; unsigned long *tmp = (unsigned long *)buf;
int i; int i;
//printk("base 0x%0lx ptr 0x%p\n",base,ptr); //nsp_dbg(NSP_DEBUG_DATA_IO, "base 0x%0lx ptr 0x%p",base,ptr);
for (i = 0; i < count; i++) { for (i = 0; i < count; i++) {
*tmp = readl(ptr); *tmp = readl(ptr);
//printk("<%d,%p,%p,%lx>", i, ptr, tmp, *tmp); //nsp_dbg(NSP_DEBUG_DATA_IO, "<%d,%p,%p,%lx>", i, ptr, tmp, *tmp);
tmp++; tmp++;
} }
} }
...@@ -238,7 +238,7 @@ static inline void nsp_mmio_fifo32_read(unsigned int base, ...@@ -238,7 +238,7 @@ static inline void nsp_mmio_fifo32_read(unsigned int base,
void *buf, void *buf,
unsigned long count) unsigned long count)
{ {
//DEBUG(0, __FUNCTION__ "() buf=0x%p, count=0x%lx*4\n", buf, count); //nsp_dbg(NSP_DEBUG_DATA_IO, "buf=0x%p, count=0x%lx*4", buf, count);
nsp_mmio_multi_read_4(base, FIFODATA, buf, count); nsp_mmio_multi_read_4(base, FIFODATA, buf, count);
} }
...@@ -251,11 +251,11 @@ static inline void nsp_mmio_multi_write_4(unsigned long base, ...@@ -251,11 +251,11 @@ static inline void nsp_mmio_multi_write_4(unsigned long base,
unsigned long *tmp = (unsigned long *)buf; unsigned long *tmp = (unsigned long *)buf;
int i; int i;
//printk("base 0x%0lx ptr 0x%p\n",base,ptr); //nsp_dbg(NSP_DEBUG_DATA_IO, "base 0x%0lx ptr 0x%p",base,ptr);
for (i = 0; i < count; i++) { for (i = 0; i < count; i++) {
writel(*tmp, ptr); writel(*tmp, ptr);
//printk("<%d,%p,%p,%lx>", i, ptr, tmp, *tmp); //nsp_dbg(NSP_DEBUG_DATA_IO, "<%d,%p,%p,%lx>", i, ptr, tmp, *tmp);
tmp++; tmp++;
} }
} }
...@@ -264,7 +264,7 @@ static inline void nsp_mmio_fifo32_write(unsigned int base, ...@@ -264,7 +264,7 @@ static inline void nsp_mmio_fifo32_write(unsigned int base,
void *buf, void *buf,
unsigned long count) unsigned long count)
{ {
//DEBUG(0, __FUNCTION__ "() buf=0x%p, count=0x%lx*4\n", buf, count); //nsp_dbg(NSP_DEBUG_DATA_IO, "buf=0x%p, count=0x%lx*4", buf, count);
nsp_mmio_multi_write_4(base, FIFODATA, buf, count); nsp_mmio_multi_write_4(base, FIFODATA, buf, count);
} }
......
...@@ -6,11 +6,12 @@ ...@@ -6,11 +6,12 @@
the GNU General Public License. the GNU General Public License.
*/ */
/* $Id: nsp_message.c,v 1.2 2002/09/20 04:06:58 gotom Exp $ */ /* $Id: nsp_message.c,v 1.6 2003/07/26 14:21:09 elca Exp $ */
static void nsp_message_in(Scsi_Cmnd *SCpnt, nsp_hw_data *data) static void nsp_message_in(Scsi_Cmnd *SCpnt)
{ {
unsigned int base = SCpnt->device->host->io_port; unsigned int base = SCpnt->device->host->io_port;
nsp_hw_data *data = (nsp_hw_data *)SCpnt->device->host->hostdata;
unsigned char data_reg, control_reg; unsigned char data_reg, control_reg;
int ret, len; int ret, len;
...@@ -23,7 +24,7 @@ static void nsp_message_in(Scsi_Cmnd *SCpnt, nsp_hw_data *data) ...@@ -23,7 +24,7 @@ static void nsp_message_in(Scsi_Cmnd *SCpnt, nsp_hw_data *data)
ret = 16; ret = 16;
len = 0; len = 0;
DEBUG(0, " msgin loop\n"); nsp_dbg(NSP_DEBUG_MSGINOCCUR, "msgin loop");
do { do {
/* read data */ /* read data */
data_reg = nsp_index_read(base, SCSIDATAIN); data_reg = nsp_index_read(base, SCSIDATAIN);
...@@ -49,8 +50,9 @@ static void nsp_message_in(Scsi_Cmnd *SCpnt, nsp_hw_data *data) ...@@ -49,8 +50,9 @@ static void nsp_message_in(Scsi_Cmnd *SCpnt, nsp_hw_data *data)
} }
static void nsp_message_out(Scsi_Cmnd *SCpnt, nsp_hw_data *data) static void nsp_message_out(Scsi_Cmnd *SCpnt)
{ {
nsp_hw_data *data = (nsp_hw_data *)SCpnt->device->host->hostdata;
int ret = 1; int ret = 1;
int len = data->MsgLen; int len = data->MsgLen;
...@@ -61,10 +63,10 @@ static void nsp_message_out(Scsi_Cmnd *SCpnt, nsp_hw_data *data) ...@@ -61,10 +63,10 @@ static void nsp_message_out(Scsi_Cmnd *SCpnt, nsp_hw_data *data)
* the next "msg out" if exists (no scsi phase changes). * the next "msg out" if exists (no scsi phase changes).
*/ */
DEBUG(0, " msgout loop\n"); nsp_dbg(NSP_DEBUG_MSGOUTOCCUR, "msgout loop");
do { do {
if (nsp_xfer(SCpnt, data, BUSPHASE_MESSAGE_OUT)) { if (nsp_xfer(SCpnt, BUSPHASE_MESSAGE_OUT)) {
printk(KERN_DEBUG " %s: msgout: xfer short\n", __FUNCTION__); nsp_msg(KERN_DEBUG, "msgout: xfer short");
} }
/* catch a next signal */ /* catch a next signal */
......
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