From owner-freebsd-hackers Thu Nov 28 6:24:35 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 285F637B401 for ; Thu, 28 Nov 2002 06:24:34 -0800 (PST) Received: from foem.leiden.webweaving.org (fia224-72.dsl.hccnet.nl [62.251.72.224]) by mx1.FreeBSD.org (Postfix) with ESMTP id B86D443E88 for ; Thu, 28 Nov 2002 06:24:31 -0800 (PST) (envelope-from dirkx@webweaving.org) Received: from foem (foem [10.11.0.2]) by foem.leiden.webweaving.org (8.12.6/8.12.6) with ESMTP id gASEOP64016852 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO); Thu, 28 Nov 2002 15:24:25 +0100 (CET) (envelope-from dirkx@webweaving.org) Date: Thu, 28 Nov 2002 15:24:25 +0100 (CET) From: Dirk-Willem van Gulik X-X-Sender: dirkx@foem.leiden.webweaving.org To: "M. Warner Losh" Cc: freebsd-hackers@FreeBSD.ORG, Marten Vijn Subject: Re: Understanding PCI intr routing on a Cirrus Logic PD6729 In-Reply-To: <20021128150022.T2484-100000@foem.leiden.webweaving.org> Message-ID: <20021128152214.U2484-100000@foem.leiden.webweaving.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Thu, 28 Nov 2002, Dirk-Willem van Gulik wrote: > On Thu, 28 Nov 2002, Dirk-Willem van Gulik wrote: > > > > This doesn't force the interrupt to be IRQ3, but rather tells the card > > > to use INTA#. The probe line for wi card should say irq N where N is > > I may be mistaken - but it seems that > > pcic_pci_pd67xx_csc(struct pcic_slot *sp, enum pcic_intr_way way) > pcic_pci_pd67xx_func(struct pcic_slot *sp, enum pcic_intr_way way) > > are not called to ensure that the PCI/ISA interrupts are set up > (correctly). Or is this not required ? Calling pcic_pci_cardbus_init() from inside pcic_pci_pd67xx_init() to push the INTA-D and ISAIRQ's into the PCI state seems to case things to no longer freeze up, and I am getting at least some traffic through without timeouts. Dw static void pcic_pci_pd67xx_init(device_t dev) { struct pcic_softc *sc = device_get_softc(dev); if (sc->csc_route == pcic_iw_pci || sc->func_route == pcic_iw_pci) device_printf(dev, "PD67xx maybe broken for PCI routing.\n"); #ifdef DIRKX_AT_APACHE_ORG_PRIVATE_HACKS /* XXX DIRKX lets try SOME routing of sorts */ pcic_pci_cardbus_init(dev); #endif } To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message