diff options
| author | jdolecek <jdolecek@NetBSD.org> | 2018-06-21 21:52:15 +0000 |
|---|---|---|
| committer | jdolecek <jdolecek@NetBSD.org> | 2018-06-21 21:52:15 +0000 |
| commit | a293f3bbc4091d916ea526e5ea93d16deb5fc3b2 (patch) | |
| tree | 6256458af90e9c5728a6761ad4503ca6af2716ba | |
| parent | 82dc3e154e0a4a768436dd3fcf2f2dfd7c2c842c (diff) | |
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
| -rw-r--r-- | sys/dev/ata/sata_subr.c | 15 | ||||
| -rw-r--r-- | sys/dev/ata/satavar.h | 3 |
2 files changed, 13 insertions, 5 deletions
diff --git a/sys/dev/ata/sata_subr.c b/sys/dev/ata/sata_subr.c index 771a2b0b4e9..cb023ef8f6d 100644 --- a/sys/dev/ata/sata_subr.c +++ b/sys/dev/ata/sata_subr.c @@ -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 *chp, bus_space_tag_t sata_t, } } + 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 *chp, bus_space_tag_t sata_t, 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 *chp, bus_space_tag_t sata_t, device_xname(chp->ch_atac->atac_dev), chp->ch_channel, sstatus); } - return(sstatus & SStatus_DET_mask); } void diff --git a/sys/dev/ata/satavar.h b/sys/dev/ata/satavar.h index 8564bf43e44..d24d50f4bdd 100644 --- a/sys/dev/ata/satavar.h +++ b/sys/dev/ata/satavar.h @@ -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_ */ |
