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;
 	}

Reply via email to