Sat Sep 7 01:50:12 2013 UTC ()
This uses an EDGE interrupt. (D'oh)


(matt)
diff -r1.2 -r1.3 src/sys/arch/arm/allwinner/awin_com.c

cvs diff -r1.2 -r1.3 src/sys/arch/arm/allwinner/Attic/awin_com.c (expand / switch to unified diff)

--- src/sys/arch/arm/allwinner/Attic/awin_com.c 2013/09/07 00:35:52 1.2
+++ src/sys/arch/arm/allwinner/Attic/awin_com.c 2013/09/07 01:50:12 1.3
@@ -21,27 +21,27 @@ @@ -21,27 +21,27 @@
21 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 24 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 25 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27 * POSSIBILITY OF SUCH DAMAGE. 27 * POSSIBILITY OF SUCH DAMAGE.
28 */ 28 */
29 29
30#include "locators.h" 30#include "locators.h"
31 31
32#include <sys/cdefs.h> 32#include <sys/cdefs.h>
33 33
34__KERNEL_RCSID(1, "$NetBSD: awin_com.c,v 1.2 2013/09/07 00:35:52 matt Exp $"); 34__KERNEL_RCSID(1, "$NetBSD: awin_com.c,v 1.3 2013/09/07 01:50:12 matt Exp $");
35 35
36#include <sys/bus.h> 36#include <sys/bus.h>
37#include <sys/device.h> 37#include <sys/device.h>
38#include <sys/intr.h> 38#include <sys/intr.h>
39#include <sys/systm.h> 39#include <sys/systm.h>
40#include <sys/time.h> 40#include <sys/time.h>
41#include <sys/termios.h> 41#include <sys/termios.h>
42 42
43#include <arm/allwinner/awin_reg.h> 43#include <arm/allwinner/awin_reg.h>
44#include <arm/allwinner/awin_var.h> 44#include <arm/allwinner/awin_var.h>
45 45
46#include <dev/ic/comvar.h> 46#include <dev/ic/comvar.h>
47 47
@@ -140,19 +140,19 @@ awin_com_attach(device_t parent, device_ @@ -140,19 +140,19 @@ awin_com_attach(device_t parent, device_
140 sc->sc_type = COM_TYPE_NORMAL; 140 sc->sc_type = COM_TYPE_NORMAL;
141 141
142 if (com_is_console(iot, iobase, &ioh) == 0 142 if (com_is_console(iot, iobase, &ioh) == 0
143 && bus_space_subregion(iot, aio->aio_core_bsh, 143 && bus_space_subregion(iot, aio->aio_core_bsh,
144 loc->loc_offset / 4, loc->loc_size, &ioh)) { 144 loc->loc_offset / 4, loc->loc_size, &ioh)) {
145 panic(": can't map registers"); 145 panic(": can't map registers");
146 } 146 }
147 COM_INIT_REGS(sc->sc_regs, iot, ioh, iobase); 147 COM_INIT_REGS(sc->sc_regs, iot, ioh, iobase);
148 148
149 com_attach_subr(sc); 149 com_attach_subr(sc);
150 aprint_naive("\n"); 150 aprint_naive("\n");
151 151
152 KASSERT(loc->loc_intr != AWINIO_INTR_DEFAULT); 152 KASSERT(loc->loc_intr != AWINIO_INTR_DEFAULT);
153 asc->asc_ih = intr_establish(loc->loc_intr, IPL_SERIAL, IST_LEVEL, 153 asc->asc_ih = intr_establish(loc->loc_intr, IPL_SERIAL, IST_EDGE,
154 comintr, sc); 154 comintr, sc);
155 if (asc->asc_ih == NULL) 155 if (asc->asc_ih == NULL)
156 panic("%s: failed to establish interrupt %d", 156 panic("%s: failed to establish interrupt %d",
157 device_xname(self), loc->loc_intr); 157 device_xname(self), loc->loc_intr);
158} 158}