Date: Mon, 22 Sep 2008 16:06:09 -0700 From: Maxim Sobolev <sobomax@FreeBSD.org> To: Marco Trillo <marcotrillo@gmail.com> Cc: freebsd-ppc@FreeBSD.org Subject: Re: Call for testers: Apple ATA DMA Message-ID: <48D824E1.1030109@FreeBSD.org> In-Reply-To: <b9c23c9f0809221518t343660b5k40877e132bba98ed@mail.gmail.com> References: <48D389EE.9000207@FreeBSD.org> <48D3AD50.8070505@freebsd.org> <48D69679.1080701@freebsd.org> <48D7F437.1040603@FreeBSD.org> <48D80DDD.2080309@freebsd.org> <48D8186F.4020308@FreeBSD.org> <b9c23c9f0809221518t343660b5k40877e132bba98ed@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Marco Trillo wrote: > Hi, > > On Tue, Sep 23, 2008 at 12:13 AM, Maxim Sobolev <sobomax@freebsd.org> wrote: >>>> I was able to "fix" the problem by making ata_macio probe function >>>> returning ENXIO always. My guess is that ATA chipset on this machine is >>>> somehow accessible through two different buses (macio and pci), which >>>> creates some weird conflicts, but I might be wrong. Hopefully you will have >>>> better idea, I can provide any assistance needed to fix the issue properly. >>>> See 342.png screenshot. Dmesg with hacked ata_macio is as follows: >>> Interesting -- it looks like all the interrupts are arriving on the second >>> (DBDMA) IRQ. Could you try setting USE_DBDMA_IRQ to 0 in ata_macio.c and >>> re-enabling ata_macio? There is something funny with how these interrupts >>> are triggered currently and they can set off interrupt storms like this. >> I've done that, but it has not changed anything. I still see interrupt storm >> on irq 12. > > Try deleting the USE_DBDMA_IRQ definition line from ata_macio.c > instead of just defining it to 0, so the "ifdef USE_DBDMA_IRQ" stuff > is not compiled. Yes, you are right. There are few unused variables in such case, though: cc1: warnings being treated as errors ../../../powerpc/powermac/ata_macio.c: In function 'ata_macio_attach': ../../../powerpc/powermac/ata_macio.c:206: warning: unused variable 'cookie' ../../../powerpc/powermac/ata_macio.c:205: warning: unused variable 'dbdma_irq' ../../../powerpc/powermac/ata_macio.c:204: warning: unused variable 'dbdma_irq_rid' *** Error code 1 If I ifdef them the kernel compiles and when booted there interrupt storm no longer happens. ata0 mem 0x20000-0x20fff,0x8800-0x88ff irq 24,12 on macio0 ata0: [ITHREAD] ata1: <Intrepid Kauai ATA Controller> mem 0xf5004000-0xf5007fff irq 39,1 at device 13.0 on pci2 ata1: [ITHREAD] ad0: 38154MB <TOSHIBA MK4025GAS KA100P> at ata1-master UDMA100 acd0: DVDR <MATSHITACD-RW CW-8123/CAD4> at ata1-slave UDMA33 Just curious, what's the purpose of that ata0? Is it real device or some compatibility shim? -Maxim
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48D824E1.1030109>