From: lecom@slhp1.epfl.ch (Claude Lecommandeur) Subject: Re: Help -- SCSI, Future Domain TMC-950 Date: 21 Jul 1992 07:34:14 GMT
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