Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: amd64-current (still?) won't boot (another one)
>>>>> "M" == Markus W Kilbinger <mk%kilbi.de@localhost> writes:
M> ahcisata0 channel 0: setting WDCTL_RST failed for drive 0
M> ahcisata0 channel 2: setting WDCTL_RST failed for drive 0
M> Any idea what interim change made this happen!?
Found some time to answer my own question:
The change (better: correction) that made this (kind of) problem
reappear was
$ cvs diff -u -r 1.11 sys/dev/ic/ahcisatavar.h
Index: sys/dev/ic/ahcisatavar.h
===================================================================
RCS file: /cvsroot/src/sys/dev/ic/ahcisatavar.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- sys/dev/ic/ahcisatavar.h 10 Aug 2012 16:35:00 -0000 1.11
+++ sys/dev/ic/ahcisatavar.h 13 Aug 2012 19:42:50 -0000 1.12
@@ -1,4 +1,4 @@
-/* $NetBSD: ahcisatavar.h,v 1.11 2012/08/10 16:35:00 bouyer Exp $ */
+/* $NetBSD: ahcisatavar.h,v 1.12 2012/08/13 19:42:50 bouyer Exp $ */
/*
* Copyright (c) 2006 Manuel Bouyer.
@@ -58,7 +58,7 @@
#define AHCI_PCI_QUIRK_FORCE __BIT(0) /* force attach */
#define AHCI_PCI_QUIRK_BAD64 __BIT(1) /* broken 64-bit DMA */
#define AHCI_QUIRK_BADPMP __BIT(2) /* broken PMP support, ignore */
-#define AHCI_QUIRK_BADPMPRESET __BIT(2) /* broken PMP support for reset */
+#define AHCI_QUIRK_BADPMPRESET __BIT(3) /* broken PMP support for reset */
int32_t sc_ahci_cap; /* copy of AHCI_CAP */
int sc_ncmds; /* number of command slots */
For my matching hardware (excerpt from src/sys/dev/pci/ahcisata_pci.c)
static const struct ahci_pci_quirk ahci_pci_quirks[] = {
[...]
{ PCI_VENDOR_ATI, PCI_PRODUCT_ATI_SB700_SATA_AHCI,
AHCI_QUIRK_BADPMPRESET },
meant this now 'really' AHCI_QUIRK_BADPMPRESET which was not
sufficient (see above error).
As a workaround / fix I changed it (effectively back) to AHCI_QUIRK_BADPMP and
now
everything works again!
So, my hardware seems to need more 'quirk' than present in the actual
quirk table in our source tree ('AHCI_QUIRK_BADPMP' instead of just
'AHCI_QUIRK_BADPMPRESET').
I don't know more details about / for the other
PCI_PRODUCT_ATI_SB[67]00_SATA_* entries in our actual quirk table
which all have 'AHCI_QUIRK_BADPMPRESET' at time of writing this.
BTW: In sys/dev/ic/ahcisatavar.h
struct ahci_softc {
[...]
int sc_achi_quirks;
^^^^
is just cosmetics... ;-)
Markus.
Home |
Main Index |
Thread Index |
Old Index