--- mesh.c.orig Sat Jun 24 20:05:36 2000 +++ mesh.c Sat Jun 24 20:05:44 2000 @@ -224,13 +224,6 @@ struct Scsi_Host *mesh_host; void *dma_cmd_space; - if (_machine == _MACH_Pmac) { - use_active_neg = (find_devices("mac-io") ? 0 : SEQ_ACTIVE_NEG); - } else { - /* CHRP mac-io */ - use_active_neg = SEQ_ACTIVE_NEG; - } - nmeshes = 0; prev_statep = &all_meshes; /* @@ -317,6 +310,7 @@ ++nmeshes; } + use_active_neg = (find_devices("mac-io") ? 0 : SEQ_ACTIVE_NEG); if ((_machine == _MACH_Pmac) && (nmeshes > 0)) register_reboot_notifier(&mesh_notifier); @@ -480,25 +474,17 @@ udelay(100); - out_le32(&md->control, (RUN|PAUSE|FLUSH|WAKE) << 16); /* stop dma */ - out_8(&mr->exception, 0xff); /* clear all exception bits */ - out_8(&mr->error, 0xff); /* clear all error bits */ + out_8(&mr->exception, 0xff); + out_8(&mr->error, 0xff); out_8(&mr->sequence, SEQ_RESETMESH); udelay(10); + + out_8(&mr->interrupt, 0xff); /* clear all interrupt bits */ out_8(&mr->intr_mask, INT_ERROR | INT_EXCEPTION | INT_CMDDONE); out_8(&mr->source_id, ms->host->this_id); out_8(&mr->sel_timeout, 25); /* 250ms */ - out_8(&mr->sync_params, ASYNC_PARAMS); - - out_8(&mr->bus_status1, BS1_RST); /* assert RST */ - udelay(30); /* leave it on for >= 25us */ - out_8(&mr->bus_status1, 0); /* negate RST */ - - out_8(&mr->sequence, SEQ_FLUSHFIFO); - udelay(1); - out_8(&mr->sync_params, ASYNC_PARAMS); - out_8(&mr->sequence, SEQ_ENBRESEL); - out_8(&mr->interrupt, 0xff); /* clear all interrupt bits */ + out_8(&mr->sync_params, ASYNC_PARAMS); /* asynchronous initially */ + out_le32(&md->control, (RUN|PAUSE|FLUSH|WAKE) << 16); } /*