Date: Sun, 04 Nov 2007 01:02:05 +0300 From: Alexander Sabourenkov <screwdriver@lxnt.info> To: "Arno J. Klaassen" <arno@heho.snv.jussieu.fr> Cc: freebsd-hackers@freebsd.org, Thierry Herbelot <thierry@herbelot.com>, "Matthew D. Fuller" <fullermd@over-yonder.net>, =?UTF-8?B?U8O4cmVuIFNjaG1pZHQ=?= <sos@deepcore.dk>, sos@freebsd.org Subject: Re: Patch RFC: Promise SATA300 TX4 hardware bug workaround. Message-ID: <472CEFDD.2020103@lxnt.info> In-Reply-To: <wptzo4yqj7.fsf@heho.snv.jussieu.fr> References: <472A548B.50406@lxnt.info> <wpsl3oe7h9.fsf@heho.snv.jussieu.fr> <472B9EA1.6060205@deepcore.dk> <wptzo4yqj7.fsf@heho.snv.jussieu.fr>
next in thread | previous in thread | raw e-mail | index | archive | help
Arno J. Klaassen wrote: > > Rather than the marginal HW part, it seems, for me, closely related to > MB/BIOS (as well (Alexander apperently has about the same setup as I > have for this test)): > [...] > > I vaguely remember from another PR that the Promise card does > something with PCI-bursting which fbsd does not detect and/or > handle correctly (and beyond my simple skills as dumb tester, but > maybe the linux-sources contain a clue about that as well). > Analysis of chip initialization in vendor-supplied, Linux and FreeBSD drivers shows that FreeBSD's one: - does not enable something called 'BMR_BURST', - performs hotplug init in one write (instead of two read-modify-writes ), - does an extra write (offset 0x54) which is not done in other drivers. Analysis text: http://lxnt.info/tx4/chipinit.text Patch with ported chipinit (dangerous to use with anything from Promise other than sata300 tx4 !!): http://lxnt.info/tx4/freebsd/chipinit.patch (cumulative) http://lxnt.info/tx4/freebsd/ata-chipset.c+chipinit (patched source) Note two things: 1. I have not compiled or tested this patch. Please do. 2. I may have missed this bug because I'm frequently rebooting between Linux and FreeBSD, and what Linux driver initialized may have lasted the reboots. -- ./lxnt
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?472CEFDD.2020103>