<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/ata/libata-eh.c, branch linux-2.6.23.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.23.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.23.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2007-11-16T17:30:25Z</updated>
<entry>
<title>libata: backport ATA_FLAG_NO_SRST and ATA_FLAG_ASSUME_ATA</title>
<updated>2007-11-16T17:30:25Z</updated>
<author>
<name>Tejun Heo</name>
</author>
<published>2007-10-25T06:51:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=28254520f46eeadda8834de0ccf31613caee998f'/>
<id>urn:sha1:28254520f46eeadda8834de0ccf31613caee998f</id>
<content type='text'>
Differs from mainline, but the functionality is already there.

Backport ATA_FLAG_NO_SRST and ATA_FLAG_ASSUME_ATA.  These are
originally link flags (ATA_LFLAG_*) but link abstraction doesn't exist
on 2.6.23, so make it port flags.

This is for the following workaround for ASUS P5W DH Deluxe.

These new flags don't introduce any behavior change unless set and
nobody sets them yet.

Signed-off-by: Tejun Heo &lt;htejun@gmail.com&gt;
Cc: Jeff Garzik &lt;jeff@garzik.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>libata: implement EH fast drain</title>
<updated>2007-07-20T12:26:26Z</updated>
<author>
<name>Tejun Heo</name>
</author>
<published>2007-07-16T05:29:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5ddf24c5ea9d715dc4f5d5d5dd1c9337d90466dc'/>
<id>urn:sha1:5ddf24c5ea9d715dc4f5d5d5dd1c9337d90466dc</id>
<content type='text'>
In most cases, when EH is scheduled, all in-flight commands are
aborted causing EH to kick in immediately.  However, in some cases
(especially with PMP), it's unclear which commands are affected by the
error condition and although aborting all in-flight commands work, it
isn't optimal and may cause unnecessary disruption.  On the other
hand, waiting for in-flight commands to drain themselves can take up
to 30seconds.

This patch implements EH fast drain to handle such situations.  It
gives in-flight commands some time to finish up but doesn't wait for
too long.  After EH is scheduled, fast drain timer is started and if
no other completion occurs in ATA_EH_FASTDRAIN_INTERVAL all in-flight
commands are aborted.  If any completion occurred in the interval, the
port is given another interval to finish up itself.

Currently ATA_EH_FASTDRAIN_INTERVAL is 3 secs which should be enough
for finishing up most commands.

Signed-off-by: Tejun Heo &lt;htejun@gmail.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
</entry>
<entry>
<title>libata: schedule probing after SError access failure during autopsy</title>
<updated>2007-07-20T12:26:26Z</updated>
<author>
<name>Tejun Heo</name>
</author>
<published>2007-07-16T05:29:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4e57c517b3cbaceb7438eeec879ca129fc17442c'/>
<id>urn:sha1:4e57c517b3cbaceb7438eeec879ca129fc17442c</id>
<content type='text'>
If SError isn't accessible, EH can't tell whether hotplug has happened
or not.  Report SError read failure with AC_ERR_OTHER and schedule
probing with hardreset.  This will be mainly useful for PMPs.

Signed-off-by: Tejun Heo &lt;htejun@gmail.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
</entry>
<entry>
<title>libata: clear HOTPLUG flag after a reset</title>
<updated>2007-07-20T12:26:25Z</updated>
<author>
<name>Tejun Heo</name>
</author>
<published>2007-07-16T05:29:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fccb6ea5c240b9f29baa55448488fd6aee49f5a5'/>
<id>urn:sha1:fccb6ea5c240b9f29baa55448488fd6aee49f5a5</id>
<content type='text'>
ATA_EHI_HOTPLUGGED is a hint for reset functions indicating the the
port might have gone through hotplug/unplug just before entering EH.
Reset functions modify their behaviors a bit to handle the situation
better - e.g. using longer debouncing delay.

Currently, once HOTPLUG is set, it isn't cleared till the end of EH.
This is unnecessary and makes EH take longer.  Clear the HOTPLUGGED
flag after a reset try (successful or not).

Signed-off-by: Tejun Heo &lt;htejun@gmail.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
</entry>
<entry>
<title>libata: quickly trigger SATA SPD down after debouncing failed</title>
<updated>2007-07-20T12:19:06Z</updated>
<author>
<name>Tejun Heo</name>
</author>
<published>2007-07-16T05:29:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f1545154a5c96590b1992aac8ee1e2c445e301ed'/>
<id>urn:sha1:f1545154a5c96590b1992aac8ee1e2c445e301ed</id>
<content type='text'>
Debouncing failure is a good indicator of basic link problem.  Use
-EPIPE to indicate debouncing failure and make ata_eh_reset() invoke
sata_down_spd_limit() if the error occurs during reset.

Signed-off-by: Tejun Heo &lt;htejun@gmail.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
</entry>
<entry>
<title>libata: improve SATA PHY speed down logic</title>
<updated>2007-07-20T12:19:05Z</updated>
<author>
<name>Tejun Heo</name>
</author>
<published>2007-07-16T05:29:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=008a78961ec72990d09d7625ef9499d7317d040d'/>
<id>urn:sha1:008a78961ec72990d09d7625ef9499d7317d040d</id>
<content type='text'>
sata_down_spd_limit() first reads the current SPD from SStatus and
limit the speed to the lower one of one below the current limit or one
below the current SPD in SStatus.  SPD may not be accessible or valid
when SPD down is requested making sata_down_spd_limit() fail when it's
most needed.

This patch makes the current SPD cached after each successful reset
and forces GEN I speed (1.5Gbps) if neither of SStatus or the cached
value is valid, so sata_down_spd_limit() is now guaranteed to lower
the speed limit if lower speed is available.

Signed-off-by: Tejun Heo &lt;htejun@gmail.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
</entry>
<entry>
<title>libata: implement AC_ERR_NCQ</title>
<updated>2007-07-20T12:02:11Z</updated>
<author>
<name>Tejun Heo</name>
</author>
<published>2007-07-16T05:29:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5335b729064e03319cd2d5219770451dbb1d7f67'/>
<id>urn:sha1:5335b729064e03319cd2d5219770451dbb1d7f67</id>
<content type='text'>
When an NCQ command fails, all commands in flight are aborted and the
offending one is reported using log page 10h.  Depending on controller
characteristics and LLD implementation, all commands may appear as
having a device error due to shared TF status making it hard to
determine what's actually going on.

This patch adds AC_ERR_NCQ, marks the command reported by log page 10h
with it and print extra "&lt;F&gt;" after the error report for the command
to help distinguishing the offending command.

Signed-off-by: Tejun Heo &lt;htejun@gmail.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
</entry>
<entry>
<title>libata: improve EH report formatting</title>
<updated>2007-07-20T12:02:11Z</updated>
<author>
<name>Tejun Heo</name>
</author>
<published>2007-07-16T05:29:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b64bbc39f2122a2276578e40144af69ef01decd4'/>
<id>urn:sha1:b64bbc39f2122a2276578e40144af69ef01decd4</id>
<content type='text'>
Requiring LLDs to format multiple error description messages properly
doesn't work too well.  Help LLDs a bit by making ata_ehi_push_desc()
insert ", " on each invocation.  __ata_ehi_push_desc() is the raw
version without the automatic separator.

While at it, make ehi_desc interface proper functions instead of
macros.

Signed-off-by: Tejun Heo &lt;htejun@gmail.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
</entry>
<entry>
<title>libata-link: separate out ata_eh_handle_dev_fail()</title>
<updated>2007-07-11T01:46:03Z</updated>
<author>
<name>Tejun Heo</name>
</author>
<published>2007-07-01T10:05:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fee7ca72d3dae1078031b6fd272b9930f43bd3d1'/>
<id>urn:sha1:fee7ca72d3dae1078031b6fd272b9930f43bd3d1</id>
<content type='text'>
Separate out ata_eh_handle_dev_fail() from ata_eh_recover().  This is
in preparation of ata_link and PMP support.

Signed-off-by: Tejun Heo &lt;htejun@gmail.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
</entry>
<entry>
<title>libata-acpi: implement _GTM/_STM support</title>
<updated>2007-07-09T16:17:32Z</updated>
<author>
<name>Tejun Heo</name>
</author>
<published>2007-05-14T18:28:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=64578a3de723d502621860f9d4d28f34d001b066'/>
<id>urn:sha1:64578a3de723d502621860f9d4d28f34d001b066</id>
<content type='text'>
Implement _GTM/_STM support.  acpi_gtm is added to ata_port which
stores _GTM parameters over suspend/resume cycle.  A new hook
ata_acpi_on_suspend() is responsible for storing _GTM parameters
during suspend.  _STM is executed in ata_acpi_on_resume().  With this
change, invoking _GTF is safe on IDE hierarchy and acpi_sata check
before _GTF is removed.

ata_acpi_gtm() and ata_acpi_stm() implementation is taken from Alan
Cox's pata_acpi implementation.  ata_acpi_gtm() is fixed such that the
result parameter is not shifted by sizeof(union acpi_object).

Signed-off-by: Tejun Heo &lt;htejun@gmail.com&gt;
Cc: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
</entry>
</feed>
