linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tejun Heo <htejun@gmail.com>
To: Indan Zupancic <indan@nul.nu>
Cc: Paul Mundt <lethal@linux-sh.org>,
	jeff@garzik.org, linux-ide@vger.kernel.org,
	linux-kernel@vger.kernel.org, garyhade@us.ibm.com
Subject: Re: [PATCH] libata: implement ata_wait_after_reset()
Date: Sat, 19 May 2007 20:43:20 +0200	[thread overview]
Message-ID: <464F4548.6020101@gmail.com> (raw)
In-Reply-To: <2229.81.207.0.53.1179592754.squirrel@secure.samage.net>

Indan Zupancic wrote:
> Doesn't the controller generate an interrupt when it detects a harddisk?
> Is it really needed to do polling?

It depends on the controller but the closest thing is usually PHY status
changed interrupt and PHY readiness doesn't imply device readiness.  On
some controllers, you can play smart and try to do these things by
interrupt but polling is much more reliable for this kind of stuff.

> Idea: What about implementing a sata_sil specific .check_status function,
> instead of using the generic ata_check_status()? That one could check other
> registers to find out what's really going on in the case ENODEV is returned
> by ata_check_status(), or something like that.

Yeah, if SCR registers are accessible, 0xff doesn't indicate the device
isn't there, so the whole skip-0xff logic probably shouldn't apply in
such cases, but we can also achieve pretty good result by just making
the first reset tries a bit more aggressive.

The first timeout of 10secs was chosen because most desktop drives take
somewhere around 7~10 secs to spin up, so retrying before that didn't
make much sense, but mobile devices usually spin up faster, so it might
be worth to try one more time inbetween.

-- 
tejun

  reply	other threads:[~2007-05-19 18:43 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-10  7:20 libata reset-seq merge broke sata_sil on sh Paul Mundt
2007-05-10 11:28 ` Tejun Heo
2007-05-10 11:53   ` Tejun Heo
2007-05-10 12:46   ` Paul Mundt
2007-05-10 13:08     ` Tejun Heo
2007-05-11  0:52       ` Paul Mundt
2007-05-11  9:39         ` Tejun Heo
2007-05-12  3:49           ` Paul Mundt
2007-05-16  0:30             ` Paul Mundt
2007-05-16 16:44               ` [PATCH] libata: implement ata_wait_after_reset() Tejun Heo
2007-05-17  0:50                 ` Paul Mundt
2007-05-17  0:59                 ` Paul Mundt
2007-05-19 15:54                 ` Indan Zupancic
2007-05-19 18:23                   ` Tejun Heo
2007-05-19 22:54                     ` Indan Zupancic
2007-05-20  9:50                       ` Tejun Heo
2007-05-20 13:26                         ` Indan Zupancic
2007-05-20 17:09                           ` Tejun Heo
2007-05-20 19:35                             ` Indan Zupancic
2007-05-19 16:39                 ` Indan Zupancic
2007-05-19 18:43                   ` Tejun Heo [this message]
2007-05-19 19:04                     ` Tejun Heo
2007-05-19 22:33                       ` sd_resume redundant? [was: [PATCH] libata: implement ata_wait_after_reset()] Indan Zupancic
2007-05-20  9:54                         ` Tejun Heo
2007-05-20 14:27                           ` Indan Zupancic
2007-05-20 17:17                             ` Tejun Heo
2007-05-20 19:47                               ` Indan Zupancic
2007-05-21  6:02                       ` [PATCH] libata: implement ata_wait_after_reset() Paul Mundt
2007-05-29  1:31                 ` Jeff Garzik
2007-05-29  7:33                   ` Tejun Heo

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=464F4548.6020101@gmail.com \
    --to=htejun@gmail.com \
    --cc=garyhade@us.ibm.com \
    --cc=indan@nul.nu \
    --cc=jeff@garzik.org \
    --cc=lethal@linux-sh.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /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).