Date: Tue, 3 Apr 2012 08:40:02 GMT From: Manuel Tobias Schiller <mala@hinterbergen.de> To: freebsd-sparc64@FreeBSD.org Subject: Re: sparc64/141918: [ehci] ehci_interrupt: unrecoverable error, controller halted (sparc64) Message-ID: <201204030840.q338e2fN076997@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR sparc64/141918; it has been noted by GNATS. From: Manuel Tobias Schiller <mala@hinterbergen.de> To: Marius Strobl <marius@alchemy.franken.de> Cc: bug-followup@FreeBSD.org Subject: Re: sparc64/141918: [ehci] ehci_interrupt: unrecoverable error, controller halted (sparc64) Date: Tue, 3 Apr 2012 10:37:14 +0200 --Sig_/LIPyAG/wO3sJYsP6CnQl2.= Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Mon, 2 Apr 2012 10:43:14 +0200 Manuel Tobias Schiller <mala@hinterbergen.de> wrote: > On Mon, 2 Apr 2012 01:00:56 +0200 > Manuel Tobias Schiller <mala@hinterbergen.de> wrote: >=20 > > On Sun, 1 Apr 2012 12:41:24 +0200 > > Marius Strobl <marius@alchemy.franken.de> wrote: > >=20 > > > 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. > > >=20 > > > Marius > >=20 > > 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... Ok, I'm waiting for the next make > > buildkernel to finish, and I'll let you know what comes out. > >=20 > > Manuel >=20 > Ok, I also tested a kernel with both patches, and the issue persists. Do > you have something else to try? >=20 > Manuel > Hi Marius, I did a bit of code reading (/usr/src/sys/dev/usb/controller/ehci.c near line 1494), and I realised that the "unrecoverable error" message should only be triggered if the EHCI status register has the EHCI_STS_HCH bit set - according to the status word dump in my log, it is not set (just after the "unrecoverable error" message). The register dump re-reads the status register from the hardware. Could it be that some controllers have a glitch or something on that particular bit, and we better re-read the status register before we conclude that the controller "really wanted to set that bit"? I can also see that the bit is set in the original bug report. I don't know if that machine is just faster (and the bit has not had the time to clear yet), or if we're talking about two different problems here... (This observation might also indicate that small delay loop has to put in before I re-read the status register - we'll have to see...) I'm building a kernel with that modification, but I'd be interested in a second opinion nevertheless... Cheers, Manuel --=20 Homepage: http://www.hinterbergen.de/mala OpenPGP: 0xA330353E (DSA) or 0xD87D188C (RSA) --Sig_/LIPyAG/wO3sJYsP6CnQl2.= Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) iQGcBAEBAgAGBQJPera6AAoJEEPbVOqHHK4gOjkL/iKagzBm/KtB2K/lY882sK8L vkEnj4Ch5OjiauR/vWFIby23RSLJLqDGi15HCS7Ke7hEDDQjc6PhkbKfbHszIgQB MCaNbIWh+AAwGb0MXuMyCy2s9eDPwf7QULEyzg9Ib1RaXa2Ty5kSQny3qsxKRC8y ab+e+qFjKuqx+etzZQAc+qdYHZ/CgdoyXzrdr92CG1sjsywrcRYKzJIiBYoPbEfv kDhRpu0w2OuSD0Z5CMH8LAZsGWnOGwJHKotOUcp4kaat7CwqjamLfuKRjnqzEcK7 mDvuUYLuq9LwrgqfhwgLltjhQ0Zogs61AizRtyw3MeAQ6OjalbcNnBGhOzEVakZm tSGYgEulLySN/U4VCF5Dc01rMQ1nFUov1SsENhyfPkHpwHwqURGZC2W0NYbM/13/ wyK1waHulwFXk2XSyjpOlY5n8IrwYRp+SGKGM4mzWjwSfiFGmM0r8IOmpCVxbTPL ZE1fECnn7sjehI+GSuYbQgtgTawr+r0VF9Mr8hbyzg== =6AsC -----END PGP SIGNATURE----- --Sig_/LIPyAG/wO3sJYsP6CnQl2.=--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201204030840.q338e2fN076997>