summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorGordon Willem Klok <gwk@cvs.openbsd.org>2007-06-01 08:29:31 +0000
committerGordon Willem Klok <gwk@cvs.openbsd.org>2007-06-01 08:29:31 +0000
commit6f45bcc3228ea1265279ede3d9ebb7afde662cb4 (patch)
treec0acb6dfe0d3dd6520bb6ef8a61775c3e5e32437 /sys
parent921ed48f0bd1d75d9d04fe01b83466e81939dc24 (diff)
Establish interrupt after checking the i2s subsystem, fixes a problem with
xserve G5. ok drahn
Diffstat (limited to 'sys')
-rw-r--r--sys/arch/macppc/dev/xlights.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/arch/macppc/dev/xlights.c b/sys/arch/macppc/dev/xlights.c
index 286e3d3a95e..0a024b418ad 100644
--- a/sys/arch/macppc/dev/xlights.c
+++ b/sys/arch/macppc/dev/xlights.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: xlights.c,v 1.2 2007/05/30 03:03:54 gwk Exp $ */
+/* $OpenBSD: xlights.c,v 1.3 2007/06/01 08:29:30 gwk Exp $ */
/*
* Copyright (c) 2007 Gordon Willem Klok <gwk@openbsd,org>
*
@@ -167,9 +167,6 @@ xlights_attach(struct device *parent, struct device *self, void *aux)
sc->sc_intr = intr[2];
printf(": irq %d\n", sc->sc_intr);
- mac_intr_establish(parent, sc->sc_intr, intr[3] ? IST_LEVEL :
- IST_EDGE, IPL_AUDIO, xlights_intr, sc, sc->sc_dev.dv_xname);
-
keylargo_fcr_enable(I2SClockOffset, I2S0EN);
out32rb(sc->sc_reg + I2S_INT, I2S_INT_CLKSTOPPEND);
keylargo_fcr_disable(I2SClockOffset, I2S0CLKEN);
@@ -185,6 +182,9 @@ xlights_attach(struct device *parent, struct device *self, void *aux)
goto nodmaload;
}
+ mac_intr_establish(parent, sc->sc_intr, intr[3] ? IST_LEVEL :
+ IST_EDGE, IPL_AUDIO, xlights_intr, sc, sc->sc_dev.dv_xname);
+
out32rb(sc->sc_reg + I2S_FORMAT, CLKSRC_VS);
keylargo_fcr_enable(I2SClockOffset, I2S0CLKEN);