linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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




  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).