From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark Lord Subject: Re: sata_nv + ADMA + Samsung disk problem Date: Wed, 02 Jan 2008 23:17:23 -0500 Message-ID: <477C61D3.30009@rtr.ca> References: <20070808120804.GB5257@boogie.lpds.sztaki.hu> <20080101164416.GA29574@boogie.lpds.sztaki.hu> <477B0429.7040909@gmail.com> <477B0CFD.1030603@shaw.ca> <477BDEA5.8040701@garzik.org> <477C2A99.9010208@shaw.ca> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from rtr.ca ([76.10.145.34]:1189 "EHLO mail.rtr.ca" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753744AbYACERZ (ORCPT ); Wed, 2 Jan 2008 23:17:25 -0500 In-Reply-To: <477C2A99.9010208@shaw.ca> Sender: linux-ide-owner@vger.kernel.org List-Id: linux-ide@vger.kernel.org To: Robert Hancock Cc: Allen Martin , Jeff Garzik , Tejun Heo , Gabor Gombas , linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org, Kuan Luo , Peer Chen Robert Hancock wrote: .. > From some of the traces I took previously (posted on LKML as "sata_nv > ADMA controller lockup investigation" way back in Feb 07), what seems to > occur is that when the second command is issued very rapidly (within > less than 20 microseconds, or potentially longer) after the previous > command's completion, the ADMA status changes from 0x500 (STOPPED and > IDLE) to 0x400 (just IDLE) as it typically does, but then it sticks > there, no interrupt is ever raised, and CPB response flags remain at 0. .. Assuming that NVidia got their ADMA core logic from Pacific Digital (the inventors), then it may have some of the same bugs as the original. One of those bugs is that the aGO trigger is sampled in a "racey" way, such that it sometimes may miss a recent addition to the ring. The *only* way to guarantee things with the original Pacific Digital core was to (1) always retrigger aGO for a full ring scan with each new addition, and (2) poll periodically (every half second or so) rather than relying exclusively on the IRQ actually working.. Dunno about the NVidia version. Cheers