From: Jeff Garzik <jgarzik@pobox.com>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>,
Mark Lord <liml@rtr.ca>, Vitaliyi <imgrey@gmail.com>,
Tejun Heo <htejun@gmail.com>,
IDE/ATA development list <linux-ide@vger.kernel.org>,
Mikael Pettersson <mikpe@it.uu.se>
Subject: Re: [PATCH] libata: add support for READ/WRITE LONG
Date: Fri, 16 Mar 2007 14:54:43 -0400 [thread overview]
Message-ID: <45FAE7F3.7050201@pobox.com> (raw)
In-Reply-To: <20070316170802.227ff58b@lxorguk.ukuu.org.uk>
Alan Cox wrote:
>> I think it only requires the *host* to drop to PIO0 timings. In which
>> case it should be achievable w/o libata modification -- if the driver has to
>> "snoop" command and turn off prefetch, why not switch to PIO0 temporarily?
>
> This isn't a big issue. Eventually we have to support sending speed
> change commands and once we do that the caller will be able to switch to
> PIO0 and back again.
We should be pretty close to that. One of the bigger blockages is
needing to stop (freeze) all ports, before performing an out-of-band SET
FEATURES and related tuning.
For controllers that don't need such synchronization (though I argue it
is wise practice for all controllers) -- generally the ones that do not
snoop SET FEATURES -- you could probably get it going with a few lines
of code change: removing the current SET FEATURES - XFER MODE filter,
and calling the requisite callbacks.
Even in the current EH we don't get this quite right. The main culprit
is Promise controllers. SET FEATURES is snooped on these controllers,
and registers are programmed. It is known to corrupt data if a mode
change occurs while data is transferring on /other/ ports. If new-EH
decides to change the mode on a Promise controller, we might hit this
scenario, because the apparatus does not know to stop all ports on that
controller, rather than just the single port that is current frozen and
inside EH.
Jeff
next prev parent reply other threads:[~2007-03-16 18:54 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <3aac340703102322p362998b9labedc13503702d2b@mail.gmail.com>
2007-03-12 14:47 ` libata extension Mark Lord
[not found] ` <3aac340703121003l43685599t8dbffe6247879a91@mail.gmail.com>
2007-03-12 19:08 ` [PATCH] libata: add support for READ/WRITE LONG Mark Lord
2007-03-12 19:10 ` Mark Lord
2007-03-12 22:13 ` Alan Cox
2007-03-12 22:23 ` Mark Lord
2007-03-13 0:08 ` Alan Cox
2007-03-12 23:40 ` Mark Lord
2007-03-13 6:40 ` Tejun Heo
2007-03-13 10:46 ` Ric Wheeler
2007-03-16 12:28 ` Mark Lord
2007-03-16 14:02 ` Sergei Shtylyov
2007-03-16 14:22 ` Mark Lord
2007-03-16 14:33 ` Sergei Shtylyov
2007-03-16 14:42 ` Mark Lord
2007-03-16 14:43 ` Mark Lord
2007-03-16 14:58 ` Sergei Shtylyov
2007-03-16 15:07 ` Mark Lord
2007-03-16 15:23 ` Sergei Shtylyov
2007-03-16 15:32 ` Mark Lord
2007-03-16 17:08 ` Alan Cox
2007-03-16 18:54 ` Jeff Garzik [this message]
2007-03-16 20:16 ` Mark Lord
2007-03-16 20:38 ` Jeff Garzik
2007-03-16 21:05 ` Sergei Shtylyov
2007-03-16 21:09 ` Bartlomiej Zolnierkiewicz
2007-03-16 21:21 ` Mark Lord
2007-03-16 21:40 ` Bartlomiej Zolnierkiewicz
2007-04-04 6:20 ` Jeff Garzik
2007-03-16 15:15 ` Alan Cox
2007-03-16 14:16 ` Sergei Shtylyov
2007-03-16 15:01 ` Alan Cox
2007-03-16 14:15 ` Mark Lord
2007-03-16 14:23 ` Sergei Shtylyov
2007-03-16 14:33 ` Mark Lord
2007-03-16 15:23 ` Alan Cox
[not found] ` <3aac340703121007q35c7acf7t648e0ed7608be04d@mail.gmail.com>
[not found] ` <200703122106.39669.bzolnier@gmail.com>
2007-03-13 2:36 ` Fwd: libata extension Vitaliyi
2007-03-13 11:23 ` Jeff Garzik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=45FAE7F3.7050201@pobox.com \
--to=jgarzik@pobox.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=htejun@gmail.com \
--cc=imgrey@gmail.com \
--cc=liml@rtr.ca \
--cc=linux-ide@vger.kernel.org \
--cc=mikpe@it.uu.se \
--cc=sshtylyov@ru.mvista.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).