home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!spool.mu.edu!yale.edu!ira.uka.de!chx400!sicsun!slhp1.epfl.ch!lecom
- From: lecom@slhp1.epfl.ch (Claude Lecommandeur)
- Newsgroups: comp.os.linux
- Subject: Re: Help -- SCSI, Future Domain TMC-950
- Message-ID: <3345@sicsun.epfl.ch>
- Date: 21 Jul 92 07:34:14 GMT
- Article-I.D.: sicsun.3345
- References: <1992Jul20.183355.34976@uservx.plk.af.mil>
- Sender: news@sicsun.epfl.ch
- Organization: Ecole Polytechnique Federale de Lausanne
- Lines: 83
-
- In article <1992Jul20.183355.34976@uservx.plk.af.mil>, simonich@uservx.plk.af.mil writes:
- |> I saw a message go by reciently about a patch to
- |> support the Future Domain SCSI card with the TMC-950
- |> chip. Does anyone know where I can find the patch?
- |>
- |> Also, since I can't compile without a hard drive,
- |> how about a boot.z file?
- |>
- |> All help is appreciated.
-
- I'm not sure it's good or not, but i did just a few patch in scsi.c and seagate.c
- and it works for me. (i have a SyQuest on my TMC-950).
-
- in scsi.c :
- -------------------------------------------------------
- static void scan_scsis (void)
- {
- int host_nr , dev, lun, type, maxed;
- static unsigned char scsi_cmd [12];
- static unsigned char scsi_result [256];
-
- for (host_nr = 0; host_nr < MAX_SCSI_HOSTS; ++host_nr)
- if (scsi_hosts[host_nr].present)
- {
- #ifdef FUTURE_DOMAIN_TMC_950
- for (dev = 0; dev < 6; ++dev)
- #else
- for (dev = 0; dev < 7; ++dev)
- #endif
- if (scsi_hosts[host_nr].this_id != dev)
- #ifdef MULTI_LUN
- for (lun = 0; lun < 8; ++lun)
- {
- #else
- -------------------------------------------------------
- in seagate.c :
- -------------------------------------------------------
- if (base_address)
- {
- #ifdef FUTURE_DOMAIN_TMC_950
- st0x_cr_sr =(void *) (((unsigned char *) base_address) + 0x1c00);
- st0x_dr = (void *) (((unsigned char *) base_address )+ 0x1e00);
- #else
- st0x_cr_sr =(void *) (((unsigned char *) base_address) + 0x1a00);
- st0x_dr = (void *) (((unsigned char *) base_address )+ 0x1c00);
- #endif
- #ifdef DEBUG
- printk("ST0x detected. Base address = %x, cr = %x, dr = %x\n", base_address, st0x_cr_sr, st0x_dr);
- #endif
- return -1;
- }
- else
- ---------------------
- #if (DEBUG & PRINT_COMMAND)
- printk ("seagate_st0x_command, target = %d, command = ", target);
- for (i = 0; i < COMMAND_SIZE(((unsigned char *)cmnd)[0]); ++i)
- printk("%02x ", ((unsigned char *) cmnd)[i]);
- printk("\n");
- #endif
-
- #ifdef FUTURE_DOMAIN_TMC_950
- if (target > 5)
- #else
- if (target > 6)
- #endif
- return DID_BAD_TARGET;
-
- -------------------------------------------------------
-
- This is from Linux0.96bPl2. Of course you have to define FUTURE_DOMAIN_TMC_950
- somewhere along with CONFIG_SCSI_SEAGATE.
- I know nothing of drivers and SCSI, so take this with care.
-
- Hope it helps.
- --
-
-
- Claude Lecommandeur
- Service Informatique Central
- Ecole Polytechnique Federale de Lausanne
- 1015 LAUSANNE (SWITZERLAND)
- E-Mail : lecom@sic.epfl.ch
- Tel : (41 21) 693-22-97
-