From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tejun Heo Subject: Re: libata SATA support for Sil 3726 port multiplier Date: Tue, 18 Jul 2006 19:46:05 -0400 Message-ID: <44BD72BD.70105@gmail.com> References: <44B3D0B6.7070506@coplanar.net> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from nz-out-0102.google.com ([64.233.162.204]:39987 "EHLO nz-out-0102.google.com") by vger.kernel.org with ESMTP id S932419AbWGRXqV (ORCPT ); Tue, 18 Jul 2006 19:46:21 -0400 Received: by nz-out-0102.google.com with SMTP id x7so14317nzc for ; Tue, 18 Jul 2006 16:46:20 -0700 (PDT) In-Reply-To: Sender: linux-ide-owner@vger.kernel.org List-Id: linux-ide@vger.kernel.org To: Fredrik Sjoholm Cc: Jeremy Jackson , Jeff Garzik , linux-ide@vger.kernel.org Hello, Fredrik. Fredrik Sjoholm wrote: > > Hi, > > The 3726 multiplier is in fact built into an external box: > > http://www.datoptic.com/cgi-bin/web.cgi?product=Sbox-P&detail=yes > > I connected the box with the 3726 multiplier to a 3132 based pci-x card > via an eSATA cable. > > There is one remaining quirk which i didn't notice before emailing you > the mini-fix: When booting cold, the spin-up of each drive happens > sequentially and the 5 second retry isn't enough for each drive to get > ready. This wouldn't have been a problem except for the fact that even > the latest version (7.3.13) of the Sil3132 BIOS doesn't bother detecting > and spinning-up anything except the 1st drive on the multiplier. On > subsequent bootups, with drives already spinning, it work right away. > > I guess it would be nice to spin-up all drives in rapid succession, and > then retry them all at once every few seconds, but all i did was to > increase the timeout to 15 seconds which works too. Yes, we have yet to implement staggered spinup support with someway to control the number of concurrently spun up devices. It's on my agenda. SATA staggered spinup is enabled by loading certain pin in the power connector during power-up. So, it is the enclosure which determines whether staggered spin-up is enabled or disabled. Your enclosure may have a dip switch or something to control that. > here are the dmesg outputs: > > 1. warm start, everything ok: > > http://www.sjoholm.com/sata/dmesg.warmspin-ok > > 2. cold start, 5 second timeouts. only 1st drive usable: > > http://www.sjoholm.com/sata/dmesg.spinup5-fail > > 3. cold start, ssleep(15)'s in libata-eh.c, all drives ok: > > http://www.sjoholm.com/sata/dmesg.spinup15-ok Can you try new version and see how it acts? http://home-tj.org/files/libata-tj-stable/libata-tj-2.6.17.4-20060710.tar.bz2 It probably won't fix the problem but hardreset implementation has changed and it would help me understanding how spinning up device acts. Also, turning on CONFIG_PRINTK_TIME (Kernel Hacking -> Show timing information on printks) will be nice. Thanks. -- tejun