Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/sparc64/dev weed out BUS_SPACE_MAP_PREFETCHABLE in ...
details: https://anonhg.NetBSD.org/src/rev/0d50e3f638a1
branches: trunk
changeset: 348821:0d50e3f638a1
user: macallan <macallan%NetBSD.org@localhost>
date: Thu Nov 10 06:44:35 2016 +0000
description:
weed out BUS_SPACE_MAP_PREFETCHABLE in resp. _map() and _mmap() methods
it works with UPA graphics cards and at least some psycho but causes problems
on these
diffstat:
sys/arch/sparc64/dev/pyro.c | 16 ++++++++++++++--
sys/arch/sparc64/dev/sbus.c | 11 +++++++++--
sys/arch/sparc64/dev/schizo.c | 16 ++++++++++++++--
3 files changed, 37 insertions(+), 6 deletions(-)
diffs (120 lines):
diff -r 884ca7842830 -r 0d50e3f638a1 sys/arch/sparc64/dev/pyro.c
--- a/sys/arch/sparc64/dev/pyro.c Thu Nov 10 04:13:53 2016 +0000
+++ b/sys/arch/sparc64/dev/pyro.c Thu Nov 10 06:44:35 2016 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pyro.c,v 1.17 2016/05/10 19:23:59 palle Exp $ */
+/* $NetBSD: pyro.c,v 1.18 2016/11/10 06:44:35 macallan Exp $ */
/* from: $OpenBSD: pyro.c,v 1.20 2010/12/05 15:15:14 kettenis Exp $ */
/*
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pyro.c,v 1.17 2016/05/10 19:23:59 palle Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pyro.c,v 1.18 2016/11/10 06:44:35 macallan Exp $");
#include <sys/param.h>
#include <sys/device.h>
@@ -495,6 +495,12 @@
(unsigned long long)size,
flags));
+ /*
+ * BUS_SPACE_MAP_PREFETCHABLE causes hard hangs on schizo, so weed it
+ * out for now until someone can verify wether it works on pyro
+ */
+ flags &= ~BUS_SPACE_MAP_PREFETCHABLE;
+
ss = sparc_pci_childspace(t->type);
DPRINTF(PDB_BUSMAP, (" cspace %d", ss));
@@ -527,6 +533,12 @@
struct pyro_softc *sc = pbm->pp_sc;
int i, ss;
+ /*
+ * BUS_SPACE_MAP_PREFETCHABLE causes hard hangs on schizo, so weed it
+ * out for now until someone can verify wether it works on pyro
+ */
+ flags &= ~BUS_SPACE_MAP_PREFETCHABLE;
+
ss = sparc_pci_childspace(t->type);
DPRINTF(PDB_BUSMAP, ("pyro_bus_mmap: prot %d flags %d pa %qx\n",
diff -r 884ca7842830 -r 0d50e3f638a1 sys/arch/sparc64/dev/sbus.c
--- a/sys/arch/sparc64/dev/sbus.c Thu Nov 10 04:13:53 2016 +0000
+++ b/sys/arch/sparc64/dev/sbus.c Thu Nov 10 06:44:35 2016 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: sbus.c,v 1.95 2016/07/07 06:55:38 msaitoh Exp $ */
+/* $NetBSD: sbus.c,v 1.96 2016/11/10 06:44:35 macallan Exp $ */
/*
* Copyright (c) 1999-2002 Eduardo Horvath
@@ -34,7 +34,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sbus.c,v 1.95 2016/07/07 06:55:38 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sbus.c,v 1.96 2016/11/10 06:44:35 macallan Exp $");
#include "opt_ddb.h"
@@ -383,6 +383,13 @@
return (error);
}
+ /*
+ * BUS_SPACE_MAP_PREFETCHABLE doesn't work right through sbus, so weed
+ * it out for now until we know better
+ */
+
+ flags &= ~BUS_SPACE_MAP_PREFETCHABLE;
+
return (bus_space_map(t->parent, addr, size, flags, hp));
}
diff -r 884ca7842830 -r 0d50e3f638a1 sys/arch/sparc64/dev/schizo.c
--- a/sys/arch/sparc64/dev/schizo.c Thu Nov 10 04:13:53 2016 +0000
+++ b/sys/arch/sparc64/dev/schizo.c Thu Nov 10 06:44:35 2016 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: schizo.c,v 1.36 2016/05/10 19:23:59 palle Exp $ */
+/* $NetBSD: schizo.c,v 1.37 2016/11/10 06:44:35 macallan Exp $ */
/* $OpenBSD: schizo.c,v 1.55 2008/08/18 20:29:37 brad Exp $ */
/*
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: schizo.c,v 1.36 2016/05/10 19:23:59 palle Exp $");
+__KERNEL_RCSID(0, "$NetBSD: schizo.c,v 1.37 2016/11/10 06:44:35 macallan Exp $");
#include <sys/param.h>
#include <sys/device.h>
@@ -737,6 +737,12 @@
(unsigned long long)size,
flags));
+ /*
+ * BUS_SPACE_MAP_PREFETCHABLE causes hard hangs on schizo, so weed it
+ * out for now
+ */
+ flags &= ~BUS_SPACE_MAP_PREFETCHABLE;
+
ss = sparc_pci_childspace(t->type);
DPRINTF(SDB_BUSMAP, (" cspace %d\n", ss));
@@ -764,6 +770,12 @@
struct schizo_range *sr;
int ss;
+ /*
+ * BUS_SPACE_MAP_PREFETCHABLE causes hard hangs on schizo, so weed it
+ * out for now
+ */
+ flags &= ~BUS_SPACE_MAP_PREFETCHABLE;
+
ss = sparc_pci_childspace(t->type);
DPRINTF(SDB_BUSMAP, ("schizo_bus_mmap: prot %d flags %d pa %qx\n",
Home |
Main Index |
Thread Index |
Old Index