Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-7]: src Pull up following revision(s) (requested by mrg in ticket...



details:   https://anonhg.NetBSD.org/src/rev/935c4cb5e278
branches:  netbsd-7
changeset: 798372:935c4cb5e278
user:      martin <martin%NetBSD.org@localhost>
date:      Mon Sep 22 10:47:39 2014 +0000

description:
Pull up following revision(s) (requested by mrg in ticket #111):
        sys/dev/acpi/files.acpi: revision 1.95
        share/man/man4/acpi.4: revision 1.78
        sys/dev/acpi/acpi_pci_link.c: revision 1.22
introduce a new option: ACPI__DIS_IS_BROKEN.  this is a hack to
avoid calling the "_DIS" method during acpi interrupt link setup,
which hangs various nforce4 based motherboards.
when the problem is properly fixed, remove this hack.  for now,
it allows someone (me) to have a valid kernel config that doesn't
require a source hack every new tree.
ok chs@

diffstat:

 share/man/man4/acpi.4        |  16 ++++++++++++++--
 sys/dev/acpi/acpi_pci_link.c |   6 ++++--
 sys/dev/acpi/files.acpi      |   3 ++-
 3 files changed, 20 insertions(+), 5 deletions(-)

diffs (95 lines):

diff -r b7b7fefaebe7 -r 935c4cb5e278 share/man/man4/acpi.4
--- a/share/man/man4/acpi.4     Mon Sep 22 10:44:37 2014 +0000
+++ b/share/man/man4/acpi.4     Mon Sep 22 10:47:39 2014 +0000
@@ -1,4 +1,4 @@
-.\" $NetBSD: acpi.4,v 1.77 2014/07/13 12:08:32 wiz Exp $
+.\" $NetBSD: acpi.4,v 1.77.2.1 2014/09/22 10:47:39 martin Exp $
 .\"
 .\" Copyright (c) 2002, 2004, 2010 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -24,7 +24,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd July 13, 2014
+.Dd September 8, 2014
 .Dt ACPI 4
 .Os
 .Sh NAME
@@ -39,6 +39,7 @@
 .Cd options    ACPI_DSDT_OVERRIDE
 .Cd options    ACPI_DSDT_FILE=""
 .Cd options    ACPI_BLACKLIST_YEAR=2000
+.Cd options    ACPI__DIS_IS_BROKEN
 .Sh DESCRIPTION
 .Nx
 provides machine-independent bus support for
@@ -97,6 +98,13 @@
 in the build directory.
 .It Dv ACPI_BLACKLIST_YEAR=2000
 Do not use ACPI with any BIOS made on or before the specified year.
+.It Dv ACPI__DIS_IS_BROKEN
+Do not call the ACPI "_DIS" method to disable interrupt links.
+This may be required on specific
+.Dq nForce4
+chipset systems, which hard hang when this method is called instead of
+having it fail gracefully.
+.Dq
 .El
 .Sh SYSCTL SUPPORT
 Few
@@ -658,3 +666,7 @@
 Most of the
 .Tn ACPI
 power management functionalities are not implemented.
+.Pp
+The
+.Dv ACPI__DIS_IS_BROKEN
+option should not be necessary.
diff -r b7b7fefaebe7 -r 935c4cb5e278 sys/dev/acpi/acpi_pci_link.c
--- a/sys/dev/acpi/acpi_pci_link.c      Mon Sep 22 10:44:37 2014 +0000
+++ b/sys/dev/acpi/acpi_pci_link.c      Mon Sep 22 10:47:39 2014 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: acpi_pci_link.c,v 1.21 2014/04/14 01:56:18 jakllsch Exp $      */
+/*     $NetBSD: acpi_pci_link.c,v 1.21.2.1 2014/09/22 10:47:39 martin Exp $    */
 
 /*-
  * Copyright (c) 2002 Mitsuru IWASAKI <iwasaki%jp.freebsd.org@localhost>
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: acpi_pci_link.c,v 1.21 2014/04/14 01:56:18 jakllsch Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpi_pci_link.c,v 1.21.2.1 2014/09/22 10:47:39 martin Exp $");
 
 #include <sys/param.h>
 #include <sys/malloc.h>
@@ -533,11 +533,13 @@
         * run _DIS (i.e., the method doesn't exist), assume the initial
         * IRQ was routed by the BIOS.
         */
+#ifndef ACPI__DIS_IS_BROKEN
        if (ACPI_SUCCESS(AcpiEvaluateObject(sc->pl_handle, "_DIS", NULL,
            NULL)))
                for (i = 0; i < sc->pl_num_links; i++)
                        sc->pl_links[i].l_irq = PCI_INVALID_IRQ;
        else
+#endif
                for (i = 0; i < sc->pl_num_links; i++)
                        if (PCI_INTERRUPT_VALID(sc->pl_links[i].l_irq))
                                sc->pl_links[i].l_routed = TRUE;
diff -r b7b7fefaebe7 -r 935c4cb5e278 sys/dev/acpi/files.acpi
--- a/sys/dev/acpi/files.acpi   Mon Sep 22 10:44:37 2014 +0000
+++ b/sys/dev/acpi/files.acpi   Mon Sep 22 10:47:39 2014 +0000
@@ -1,9 +1,10 @@
-#      $NetBSD: files.acpi,v 1.94 2014/04/01 17:47:36 riastradh Exp $
+#      $NetBSD: files.acpi,v 1.94.4.1 2014/09/22 10:47:39 martin Exp $
 
 include "dev/acpi/acpica/files.acpica"
 
 defflag        opt_acpi.h      ACPIVERBOSE ACPI_DEBUG ACPI_ACTIVATE_DEV
                        ACPI_DSDT_OVERRIDE ACPI_SCANPCI ACPI_BREAKPOINT
+                       ACPI__DIS_IS_BROKEN
 defparam opt_acpi.h    ACPI_DSDT_FILE := "\"/dev/null\""
 defparam opt_acpi.h    ACPI_BLACKLIST_YEAR = 2000
 



Home | Main Index | Thread Index | Old Index