diff options
author | Tejun Heo <tj@kernel.org> | 2010-07-02 16:46:22 +0200 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2010-07-28 15:30:12 +0200 |
commit | fa7cd37f808c487f722d7a2ce9c0923a323922df (patch) | |
tree | 90a46774ad6fbad07943a12eac214d9cd4c890b1 /arch/ia64 | |
parent | 64cf9de786ca6e4bf7475903fa86327032df939d (diff) |
libata: use IRQ expecting
Legacy ATA is very susceptible to IRQ delivery problems in both
directions - lost and spurious interrupts. In traditional PATA, the
IRQ line is ultimately out of the controller and driver's control.
Even relatively new SATA controllers share this problem as many still
emulate the traditional IDE interface which doesn't have reliable way
to indicate interrupt pending state and there also is an issue
regarding the interpretation of nIEN on both sides of the cable.
Controllers with native interface have fewer problems compared to the
ones which use SFF but they still are affected by IRQ misrouting or
broken MSI implementations.
IRQ delivery problems on ATA are particularly nasty because it
commonly hosts installation and/or booting.
Most of these problems can be worked around by using the new IRQ
expecting mechanism without adding any noticeable overhead. In ATA,
almost all operations are initiated by the host and the controller
signals progress or completion using IRQ. IRQ expecting can easily be
added in libata core and applied to all libata drivers.
Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'arch/ia64')
0 files changed, 0 insertions, 0 deletions