sata_mv: more interrupt handling rework
authorMark Lord <liml@rtr.ca>
Sat, 19 Apr 2008 18:53:07 +0000 (14:53 -0400)
committerJeff Garzik <jgarzik@redhat.com>
Fri, 25 Apr 2008 05:26:06 +0000 (01:26 -0400)
commit8f767f8a02e6c65d393fd0f2ca19a91c9898cc2d
tree524d9cf1dd376dbc71d6b6e2da5c63857846b426
parenta3718c1f230240361ed92d3e53342df0ff7efa8c
sata_mv: more interrupt handling rework

Continue fixing the interrupt handling logic.

Get rid of mv_intr_pio(), by using ata_sff_host_intr() for PIO..

Add a mv_unexpected_intr() catch-all for "impossible" scenarios,
where we get an interrupt that shouldn't have happened
(never seen in testing, but just in case..).

Rearrange the logic so that we always process completed
response queue entries before looking for other events,
This avoids having to re-issue commands that had already succeeded.

As part of this, we split out some duplicated functionality
into a new function, mv_get_active_qc().

Signed-off-by: Mark Lord <mlord@pobox.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/ata/sata_mv.c