From owner-freebsd-sparc64@FreeBSD.ORG Wed Apr 4 13:00:19 2012 Return-Path: Delivered-To: freebsd-sparc64@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E8E3E106564A for ; Wed, 4 Apr 2012 13:00:17 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id A1D5D8FC15 for ; Wed, 4 Apr 2012 13:00:17 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id q34D0Hhp087509 for ; Wed, 4 Apr 2012 13:00:17 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id q34D0HmH087508; Wed, 4 Apr 2012 13:00:17 GMT (envelope-from gnats) Date: Wed, 4 Apr 2012 13:00:17 GMT Message-Id: <201204041300.q34D0HmH087508@freefall.freebsd.org> To: freebsd-sparc64@FreeBSD.org From: Marius Strobl Cc: Subject: Re: sparc64/141918: [ehci] ehci_interrupt: unrecoverable error, controller halted (sparc64) X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Marius Strobl List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Apr 2012 13:00:20 -0000 The following reply was made to PR sparc64/141918; it has been noted by GNATS. From: Marius Strobl To: Manuel Tobias Schiller Cc: bug-followup@FreeBSD.org Subject: Re: sparc64/141918: [ehci] ehci_interrupt: unrecoverable error, controller halted (sparc64) Date: Wed, 4 Apr 2012 14:59:46 +0200 On Wed, Apr 04, 2012 at 02:38:25PM +0200, Manuel Tobias Schiller wrote: > On Tue, 3 Apr 2012 23:19:52 +0200 > Marius Strobl wrote: > > > On Mon, Apr 02, 2012 at 01:00:56AM +0200, Manuel Tobias Schiller wrote: > > > On Sun, 1 Apr 2012 12:41:24 +0200 > > > Marius Strobl wrote: > > > > > > > Well, the individual patches shouldn't make things worse except for > > > > the second one causing more memory to be used so I'd suggest to > > > > combine them. If in the end things actually work we still can check > > > > what changes are needed for that. > > > > Looking at the Linux USB code, the FreeBSD one doesn't some to honor > > > > some DMA constraints and at least for the alignment it's actually > > > > hard to follow what value eventually is used. One thing that stands > > > > out is that for EHCI, the boundary is 4096. This is most easily > > > > fixed by defining USB_PAGE_SIZE to 4096 in sys/dev/usb/usb_busdma.h. > > > > > > > > Marius > > > > > > Ok, the second patch on its own doesn't appear to work either, so I'm > > > trying the combination of patches now. By the way: defining > > > USB_PAGE_SIZE to 4096 in sys/dev/usb/usb_busdma.h is a bad idea - the > > > kernel panics with a backtrace pointing into the mmu-related code. > > > Probably has to do with sparc64 mmu only supporting 8k pages, so I'm > > > not terribly surprised... > > > > Okay, could you please give the following patch a try? > > http://people.freebsd.org/~marius/usb_busdma.diff > > > > Marius > > Okay, I tried both my idea (which naturally did not work ;) and your patch > (without my patch, so I don't screw up the results). Unfortunately, your > patch does not seem to work either. From what I can tell from here at > work, the machine is stuck in a reboot loop (I guess after trying to > access the USB disks), but I'd like to be sure and watch the disk's LEDs > for a bit when I get home tonight (to make sure that the reboot loop is > really related to USB disk access). > Hrm, okay, would be interesting to know what the machine actually does. Looking at the code I found another bug; the VIA-workaround currently doesn't do anything: http://people.freebsd.org/~marius/ehci_pci_fix_via_quirk.diff This might apply for the insane I/O you've reported but I'm unsure whether it makes a difference for the HSE interrupt. Marius