Module Name: src Committed By: rin Date: Mon Feb 22 05:23:37 UTC 2021
Modified Files: src/sys/arch/mac68k/obio: esp.c Log Message: Elucidate why synchronous transfer is disabled for AV Macs. Sync negotiation times out when drive advertises that capability: ---- sd1 at scsibus0 target 1 lun 0: <codesrc, SCSI2SD, 6.0> disk fixed sd1: 16384 MB, 2088 cyl, 255 head, 63 sec, 512 bytes/sect x 33554432 sectors sd1: sync (160.00ns offset 15), 8-bit (6.250MB/s) transfers ... sd1(esp0:0:1:0): esp0: timed out [ecb 0x9f7fc4 (flags 0x1, dleft 8, stat 0)], <state 5, nexus 0x9f7fc4, phase(l 1, c 1, p 1), resid 8, msg(q 0,o 80) DMA active> sd1(esp0:0:1:0): sync negotiation disabled sd1(esp0:0:1:0): esp0: timed out [ecb 0x9f7fc4 (flags 0x41, dleft 8, stat 0)], <state 5, nexus 0x9f7fc4, phase(l 1, c 1, p 1), resid 8, msg(q 20,o 80) DMA active> AGAIN sd1: async, 8-bit transfers ---- This is observed for real SCSI drives as well as SCSI2SD (rev 6.0). Note that this is not a fallout from DMA patch for AV Macs; timeout takes place even if ``avdma'' code is forcibly disabled. No binary changes. To generate a diff of this commit: cvs rdiff -u -r1.59 -r1.60 src/sys/arch/mac68k/obio/esp.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/mac68k/obio/esp.c diff -u src/sys/arch/mac68k/obio/esp.c:1.59 src/sys/arch/mac68k/obio/esp.c:1.60 --- src/sys/arch/mac68k/obio/esp.c:1.59 Mon Feb 22 04:24:41 2021 +++ src/sys/arch/mac68k/obio/esp.c Mon Feb 22 05:23:36 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: esp.c,v 1.59 2021/02/22 04:24:41 rin Exp $ */ +/* $NetBSD: esp.c,v 1.60 2021/02/22 05:23:36 rin Exp $ */ /* * Copyright (c) 1997 Jason R. Thorpe. @@ -81,7 +81,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: esp.c,v 1.59 2021/02/22 04:24:41 rin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: esp.c,v 1.60 2021/02/22 05:23:36 rin Exp $"); #include <sys/types.h> #include <sys/param.h> @@ -327,8 +327,9 @@ dafb_dreq: bst = oa->oa_tag; * No synchronous xfers w/o DMA. * * XXXRO - * Also disable synchronous xfers for avdma for now, - * by which some disks cannot be read. + * Also disable synchronous xfers for AV Macs; + * sync negotiation times out when drive advertises that + * capability, even if avdma code is forcibly disabled. */ sc->sc_minsync = 0; }