Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/dev Add quirk for Avance Logic ALS100+, which doesn't li...
details: https://anonhg.NetBSD.org/src/rev/01c7ae7db16e
branches: trunk
changeset: 500824:01c7ae7db16e
user: mjl <mjl%NetBSD.org@localhost>
date: Tue Dec 19 01:09:15 2000 +0000
description:
Add quirk for Avance Logic ALS100+, which doesn't like it's irq/drq
being set in pnp mode.
diffstat:
sys/dev/isa/sb.c | 4 ++--
sys/dev/isa/sbdspvar.h | 5 ++++-
sys/dev/isapnp/sb_isapnp.c | 7 ++++++-
3 files changed, 12 insertions(+), 4 deletions(-)
diffs (58 lines):
diff -r b11d256d16e4 -r 01c7ae7db16e sys/dev/isa/sb.c
--- a/sys/dev/isa/sb.c Tue Dec 19 01:08:13 2000 +0000
+++ b/sys/dev/isa/sb.c Tue Dec 19 01:09:15 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: sb.c,v 1.69 1999/10/10 00:08:24 mycroft Exp $ */
+/* $NetBSD: sb.c,v 1.70 2000/12/19 01:09:15 mjl Exp $ */
/*
* Copyright (c) 1991-1993 Regents of the University of California.
@@ -182,7 +182,7 @@
}
}
- if (ISSB16CLASS(sc)) {
+ if (ISSB16CLASS(sc) && !(sc->sc_quirks & SB_QUIRK_NO_INIT_DRQ)) {
int w, r;
#if 0
printf("%s: old drq conf %02x\n", sc->sc_dev.dv_xname,
diff -r b11d256d16e4 -r 01c7ae7db16e sys/dev/isa/sbdspvar.h
--- a/sys/dev/isa/sbdspvar.h Tue Dec 19 01:08:13 2000 +0000
+++ b/sys/dev/isa/sbdspvar.h Tue Dec 19 01:09:15 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: sbdspvar.h,v 1.49 2000/06/26 04:56:22 simonb Exp $ */
+/* $NetBSD: sbdspvar.h,v 1.50 2000/12/19 01:09:15 mjl Exp $ */
/*
* Copyright (c) 1991-1993 Regents of the University of California.
@@ -107,6 +107,9 @@
int sc_drq16; /* DMA (16-bit) */
bus_size_t sc_drq16_maxsize;
+ u_int sc_quirks; /* minor variations */
+#define SB_QUIRK_NO_INIT_DRQ 0x01
+
int sc_open; /* reference count of open calls */
#define SB_CLOSED 0
#define SB_OPEN_AUDIO 1
diff -r b11d256d16e4 -r 01c7ae7db16e sys/dev/isapnp/sb_isapnp.c
--- a/sys/dev/isapnp/sb_isapnp.c Tue Dec 19 01:08:13 2000 +0000
+++ b/sys/dev/isapnp/sb_isapnp.c Tue Dec 19 01:09:15 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: sb_isapnp.c,v 1.35 1999/10/18 05:11:39 itohy Exp $ */
+/* $NetBSD: sb_isapnp.c,v 1.36 2000/12/19 01:09:16 mjl Exp $ */
/*
* Copyright (c) 1991-1993 Regents of the University of California.
@@ -104,6 +104,11 @@
printf("\n");
+ /* Avance logic ALS100+ does not like being frobbed
+ trying to set irq/drq so set that quirk skip over it */
+ if(!strcmp(ipa->ipa_devlogic, "@@@1001"))
+ sc->sc_quirks = SB_QUIRK_NO_INIT_DRQ;
+
if (isapnp_config(ipa->ipa_iot, ipa->ipa_memt, ipa)) {
printf("%s: error in region allocation\n",
sc->sc_dev.dv_xname);
Home |
Main Index |
Thread Index |
Old Index