From owner-p4-projects@FreeBSD.ORG Sun Nov 5 19:55:25 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BC29E16A4CA; Sun, 5 Nov 2006 19:55:24 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7D3EF16A494 for ; Sun, 5 Nov 2006 19:55:24 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B580243D5F for ; Sun, 5 Nov 2006 19:55:15 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA5JtF9S056360 for ; Sun, 5 Nov 2006 19:55:15 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA5JtFQQ056357 for perforce@freebsd.org; Sun, 5 Nov 2006 19:55:15 GMT (envelope-from sam@freebsd.org) Date: Sun, 5 Nov 2006 19:55:15 GMT Message-Id: <200611051955.kA5JtFQQ056357@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 109295 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Nov 2006 19:55:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=109295 Change 109295 by sam@sam_ebb on 2006/11/05 19:54:18 Fix uart input: enable IX_IER_RTOIE so we get rx interrupts when data is received but the FIFO is not full. The ns8250 uart class code does not handle this for us. Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/uart_bus_ixp425.c#4 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/uart_bus_ixp425.c#4 (text+ko) ==== @@ -73,8 +73,16 @@ sc->sc_sysdev = SLIST_FIRST(&uart_sysdevs); sc->sc_class = &uart_ns8250_class; bcopy(&sc->sc_sysdev->bas, &sc->sc_bas, sizeof(sc->sc_bas)); + /* + * XXX set UART Unit Enable (0x40) AND + * receiver timeout int enable (0x10). + * The first turns on the UART. The second is necessary to get + * interrupts when the FIFO has data but is not full. Note that + * uart_ns8250 carefully avoids touching these bits so we can + * just set them here and proceed. But this is fragile... + */ bus_space_write_4(&ixp425_a4x_bs_tag, device_get_unit(dev) == 0 ? - IXP425_UART0_VBASE : IXP425_UART1_VBASE, REG_IER, 0x40); + IXP425_UART0_VBASE : IXP425_UART1_VBASE, REG_IER, 0x50); return(uart_bus_probe(dev, 0, IXP425_UART_FREQ, 0, 0)); }