Date: Wed, 2 Apr 2008 20:39:16 -0700 From: Marcel Moolenaar <xcllnt@mac.com> To: Nathan Whitehorn <nathanw@uchicago.edu> Cc: freebsd-ppc@freebsd.org Subject: Re: BMAC Ethernet Driver Message-ID: <C1AB89FF-C466-46B0-BA83-2AD2989E73F9@mac.com> In-Reply-To: <Pine.GSO.4.62.0804022152590.20081@harper.uchicago.edu> References: <47E06B23.7060400@uchicago.edu> <20080325023040.ab0daa19.stas@FreeBSD.org> <47E8527B.2050002@uchicago.edu> <47F39EF4.8040800@uchicago.edu> <C83E8810-B68B-49B5-A7F4-8B72A4FFFFDA@mac.com> <47F3D2BC.7060001@uchicago.edu> <47F422A0.9080907@uchicago.edu> <CB59240D-E385-4D4C-9372-E9D418502F61@mac.com> <EB224547-BCC9-4467-98E5-1D8EC0352349@mac.com> <Pine.GSO.4.62.0804022152590.20081@harper.uchicago.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Apr 2, 2008, at 8:07 PM, Nathan Whitehorn wrote: >> "ofwdump -aP interrupts" gives: >> ... >> Node 0xff95fd30: escc >> Node 0xff95ffb8: ch-a >> interrupts: >> 00 00 00 16 00 00 00 01 00 00 00 05 00 00 00 00 00 00 >> 00 06 >> 00 00 00 00 >> Node 0xff960a08: ch-b >> interrupts: >> 00 00 00 17 00 00 00 01 00 00 00 07 00 00 00 00 00 00 >> 00 08 >> 00 00 00 00 >> ... >> Node 0xff970618: ata-4 >> interrupts: >> 00 00 00 13 00 00 00 01 00 00 00 0b 00 00 00 00 >> Node 0xff973358: disk >> >> >> Can you send me the output of ofwdump on your machine? > > So it looks like that corresponds to the OF output, to within the > macio limit of 5 interrupts per device. Two of the interrupts for > each channel (probably the first two after the main one) are the > DBDMA interrupts for transmit and receive DMA on each UART. The > others, I don't know. G4 machines seem to have a lot of 0 interrupts > listed in OF. Maybe we should > remove them? I somehow doubt that 0 is a valid IRQ. OpenPIC uses 2 cells per interrupt. The first being the interrupt line; the second being the interrupt trigger properties. As such, there are 3 interrupts per SCC channels and 2 for ATA: SCC-A: 0x16, 0x05, 0x06 SCC-B: 0x17, 0x07, 0x08 ATA: 0x13, 0x0b It seems that the DMA interrupts are edge triggered, so we can easily filter them out to preserve the old behaviour. I guess on your machine, interrupts use only 1 cell. This means we need to fix macio(4) to interpret the "#interrupt-cells" property of the interrupt controller in the "interrupt-parent" property... -- Marcel Moolenaar xcllnt@mac.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C1AB89FF-C466-46B0-BA83-2AD2989E73F9>