From: Mark Lord <liml@rtr.ca>
To: Tejun Heo <htejun@gmail.com>
Cc: Jeff Garzik <jgarzik@pobox.com>,
IDE/ATA development list <linux-ide@vger.kernel.org>
Subject: Re: libata-eh/pmp command sequence on NCQ media error
Date: Wed, 30 Apr 2008 17:33:38 -0400 [thread overview]
Message-ID: <4818E5B2.1040801@rtr.ca> (raw)
In-Reply-To: <48120269.8020101@gmail.com>
Tejun Heo wrote:
> Mark Lord wrote:
..
>> So, for sata_mv at least, I'd kinda like to have libata-eh attempt
>> the READ_LOG_EXT_10H before it tries to (unsuccessfully) access the
>> per-port SCRs on the PMP.
>>
>> For now, I'll try and hack something into my local tree to ensure
>> that things will actually work that way around without any other
>> unforseen complications.
>>
>> But for upstream, I'm thinking maybe a HORKAGE flag or something?
>> I'm still trying to avoid having to pull a lot of libata-eh/pmp code
>> into sata_mv for local customizations.
>
> w00t w00t I thought about that when I wrote NCQ EH. All you have to do
> is to export ata_eh_analyze_ncq_error() can call it right after
> error_handler starts and put the controller into a working state (so
> that SCR accesses work again). After it finishes, call the generic
> handler. The second time around ata_eh_analyze_ncq_error() will be
> no-op and you should get what you want.
..
Tejun, I've implemented this, and it sort of works now.
But libata-eh is interfering in a different way.
It reads the SCR_ERROR register for the PMP link,
notices that the SERR_COMM_RECOVERED bit is set,
and then decides to perform a full reset.
This bit seems to be always set whenever sata_mv tries
to report device-errors (media errors) in NCQ for a pmp.
I'll have to dig some more, but it's probably just leftover
from the initial probe/reset time or something.
This is a Marvell PM.
My understanding was, that this particular bit is supposed
to be for information purposes only, letting us know that
the hardware has automatically recovered from a soft error.
So why are we taking a hammer to things there?
Cheers
next prev parent reply other threads:[~2008-04-30 21:33 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-23 20:33 [PATCH] libata-eh copy result_tf flags from outgoing tf Mark Lord
2008-04-23 22:14 ` Tejun Heo
2008-04-23 23:37 ` Mark Lord
2008-04-24 1:02 ` Tejun Heo
2008-04-24 2:24 ` Mark Lord
2008-04-24 2:43 ` Tejun Heo
2008-04-24 2:36 ` Mark Lord
2008-04-24 2:42 ` Tejun Heo
2008-04-24 2:36 ` [PATCH] libata-eh set tf flags in NCQ EH result_tf Mark Lord
2008-04-24 2:43 ` Tejun Heo
2008-04-25 5:15 ` Jeff Garzik
2008-04-25 13:56 ` libata-eh/pmp command sequence on NCQ media error Mark Lord
2008-04-25 16:10 ` Tejun Heo
2008-04-25 16:34 ` Mark Lord
2008-04-30 21:33 ` Mark Lord [this message]
2008-04-30 21:40 ` Mark Lord
2008-04-30 21:52 ` Mark Lord
2008-05-01 0:51 ` Tejun Heo
2008-05-01 2:45 ` Mark Lord
2008-05-01 2:55 ` Tejun Heo
2008-05-01 3:47 ` Mark Lord
2008-05-01 11:24 ` Mark Lord
2008-05-01 12:24 ` Tejun Heo
2008-05-01 12:33 ` Mark Lord
2008-05-01 12:40 ` Tejun Heo
2008-05-01 2:48 ` Mark Lord
2008-05-01 2:54 ` 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=4818E5B2.1040801@rtr.ca \
--to=liml@rtr.ca \
--cc=htejun@gmail.com \
--cc=jgarzik@pobox.com \
--cc=linux-ide@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.