From: Tejun Heo <htejun@gmail.com>
To: nabiki@teleline.es, kaos@ocs.com.au, stevenm@umd.edu,
jfs@keytradebank.com, 0602@eq.cz, jgarzik@pobox.com,
akpm@osdl.org, alan@lxorguk.ukuu.org.uk,
linux-ide@vger.kernel.org, htejun@gmail.com
Subject: [PATCHSET] libata: implement presence detection using polling IDENTIFY for ata_piix
Date: Sat, 30 Sep 2006 15:46:49 +0900 [thread overview]
Message-ID: <11595988092938-git-send-email-htejun@gmail.com> (raw)
In-Reply-To:
Hello, all.
I've been thinking about device misdetection and phantom device
problems on piix for some time now. Various controllers show
different behaviors and even chips sharing the same PCI ID act
differently. Some of the symptoms are intermittent making it
difficult to debug.
In addition, a few days ago, there was a new bug report from
a.bono@libero.it saying ICH4-M showed phantom device problem. That's
an old old IDE controller which must have worked well for a very long
time.
I think that it's just best to do what IDE and old libata used to do -
ignore PCS (other than turning on enable bits) and honor reset
signature and TF r/w test while using polling PIO for IDENTIFY and
detect phantom devices. This formula had been working for years and
there is no good reason to cause more pain to ICH users, which are a
LOT, to find reliable non-polling device detection mechanism, which
might not even exist.
So, this patchset. It implements device detection via polling
IDENTIFY. When no device present, !BSY && !DRQ status is seen while
trying to read the IDENTIFY block. If a LLD specifies
ATA_FLAG_DETECT_POLLING, IDENTIFY command is issued using polling PIO
and the HSM marks AC_ERR_NODEV_HINT if !BSY && !DRQ is met. Then the
probing logic marks the device non-existent silently and continues
probing.
This patchset contains 6 patches.
#01-03 : prep for ATA_FLAG_DETECT_POLLING implementation
#04 : implement ATA_DETECT_POLLING
#05 : apply ATA_DETECT_POLLING to ata_piix
#06 : kill unnecessary parts from ata_piix
This patchset is against
upstream (2d2744fc8be620a2dc469cf48349e3e704119f1b)
This patchset collides with the following patch.
[1] implement-ATA_FLAG_SETXFER_POLLING-and-use-it-in-pata_via
I'll reimplement the above patch to not impact qc_issue fast path and
thus can be put off.
Please test this patchset. If you don't feel comfortable with handling
patch series, this patchset is also available as...
* Git tree
http://htj.dyndns.org/git/?p=libata-tj.git;a=shortlog;h=detect-polling
git://htj.dyndns.org/libata-tj detect-polling
* Kernel source tarball
http://htj.dyndns.org/linux-libata-dev-upstream-DETECT_POLLING.tar.bz2
Thanks.
--
tejun
[1] http://article.gmane.org/gmane.linux.ide/13248
next reply other threads:[~2006-09-30 6:46 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-30 6:46 Tejun Heo [this message]
2006-09-30 6:46 ` [PATCH 2/6] libata: unexport ata_dev_revalidate() Tejun Heo
2006-09-30 6:46 ` [PATCH 1/6] ata_piix: clean up port flags Tejun Heo
2006-11-01 4:55 ` Jeff Garzik
2006-11-01 5:12 ` Tejun Heo
2006-11-01 5:19 ` Jeff Garzik
2006-11-01 5:35 ` Jeff Garzik
2006-09-30 6:46 ` [PATCH 3/6] libata: convert @post_reset to @flags in ata_dev_read_id() Tejun Heo
2006-11-01 5:36 ` Jeff Garzik
2006-09-30 6:46 ` [PATCH 5/6] ata_piix: apply device detection via polling IDENTIFY Tejun Heo
2006-09-30 6:46 ` [PATCH 4/6] libata: implement presence " Tejun Heo
2006-09-30 6:46 ` [PATCH 6/6] ata_piix: strip now unneded MAP related stuff Tejun Heo
2006-09-30 8:59 ` [PATCHSET] libata: implement presence detection using polling IDENTIFY for ata_piix Alessandro Bono
2006-09-30 9:09 ` Alessandro Bono
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=11595988092938-git-send-email-htejun@gmail.com \
--to=htejun@gmail.com \
--cc=0602@eq.cz \
--cc=akpm@osdl.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=jfs@keytradebank.com \
--cc=jgarzik@pobox.com \
--cc=kaos@ocs.com.au \
--cc=linux-ide@vger.kernel.org \
--cc=nabiki@teleline.es \
--cc=stevenm@umd.edu \
/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).