Module Name:    src
Committed By:   jdolecek
Date:           Thu Jun 21 21:52:15 UTC 2018

Modified Files:
        src/sys/dev/ata: sata_subr.c satavar.h

Log Message:
split the port status reporting to new function sata_interpret_det()
so it can be called separately from sata_reset_interface()

do not treat PHY offline as an error, it's pretty normal when there
is no device actually connected

debugging aid for PR kern/52372


To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 src/sys/dev/ata/sata_subr.c
cvs rdiff -u -r1.9 -r1.10 src/sys/dev/ata/satavar.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ata/sata_subr.c
diff -u src/sys/dev/ata/sata_subr.c:1.23 src/sys/dev/ata/sata_subr.c:1.24
--- src/sys/dev/ata/sata_subr.c:1.23	Sat Oct  7 16:05:32 2017
+++ src/sys/dev/ata/sata_subr.c	Thu Jun 21 21:52:15 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: sata_subr.c,v 1.23 2017/10/07 16:05:32 jdolecek Exp $	*/
+/*	$NetBSD: sata_subr.c,v 1.24 2018/06/21 21:52:15 jdolecek Exp $	*/
 
 /*-
  * Copyright (c) 2004 The NetBSD Foundation, Inc.
@@ -33,7 +33,7 @@
  * Common functions for Serial ATA.
  */
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sata_subr.c,v 1.23 2017/10/07 16:05:32 jdolecek Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sata_subr.c,v 1.24 2018/06/21 21:52:15 jdolecek Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -121,6 +121,14 @@ sata_reset_interface(struct ata_channel 
 		}
 	}
 
+	sata_interpret_det(chp, sstatus);
+
+	return (sstatus & SStatus_DET_mask);
+}
+
+void
+sata_interpret_det(struct ata_channel *chp, uint32_t sstatus)
+{ 
 	switch (sstatus & SStatus_DET_mask) {
 	case SStatus_DET_NODEV:
 		/* No Device; be silent.  */
@@ -133,7 +141,7 @@ sata_reset_interface(struct ata_channel 
 		break;
 
 	case SStatus_DET_OFFLINE:
-		aprint_error("%s port %d: PHY offline\n",
+		aprint_normal("%s port %d: PHY offline\n",
 		    device_xname(chp->ch_atac->atac_dev), chp->ch_channel);
 		break;
 
@@ -147,7 +155,6 @@ sata_reset_interface(struct ata_channel 
 		    device_xname(chp->ch_atac->atac_dev), chp->ch_channel,
 		    sstatus);
 	}
-	return(sstatus & SStatus_DET_mask);
 }
 
 void

Index: src/sys/dev/ata/satavar.h
diff -u src/sys/dev/ata/satavar.h:1.9 src/sys/dev/ata/satavar.h:1.10
--- src/sys/dev/ata/satavar.h:1.9	Wed Apr  3 17:15:07 2013
+++ src/sys/dev/ata/satavar.h	Thu Jun 21 21:52:15 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: satavar.h,v 1.9 2013/04/03 17:15:07 bouyer Exp $	*/
+/*	$NetBSD: satavar.h,v 1.10 2018/06/21 21:52:15 jdolecek Exp $	*/
 
 /*-
  * Copyright (c) 2004 The NetBSD Foundation, Inc.
@@ -42,6 +42,7 @@
 const char *sata_speed(uint32_t);
 uint32_t sata_reset_interface(struct ata_channel *, bus_space_tag_t,
     bus_space_handle_t, bus_space_handle_t, int);
+void	sata_interpret_det(struct ata_channel *, uint32_t);
 void	sata_interpret_sig(struct ata_channel *, int, uint32_t);
 
 #endif /* _DEV_ATA_SATAVAR_H_ */

Reply via email to