sata_mv: tidy host controller interrupt handling
authorMark Lord <liml@rtr.ca>
Sat, 19 Apr 2008 19:07:18 +0000 (15:07 -0400)
committerJeff Garzik <jgarzik@redhat.com>
Fri, 25 Apr 2008 05:25:57 +0000 (01:25 -0400)
commita3718c1f230240361ed92d3e53342df0ff7efa8c
treec28b8fadb5f926868c6689d83ad08f669d63a948
parentfcfb1f77cea81f74d865b4d33f2e452ffa1973e8
sata_mv: tidy host controller interrupt handling

Tidy up host controller interrupt handling, by moving the weirdo
bit shifting from mv_interrupt() to mv_host_intr().

This lets us take advantage of the MV_PORT_TO_SHIFT_AND_HARDPORT() macro
from an earlier patch to greatly simplify the port numbering logic.

Also, defer reading the hc_irq_cause (one per hc) until it is
actually proven to be needed.  This may save a microsecond or
so per interrupt, on average (a later patchset will further reduce
unnecessary register reads throughout the driver).

Apart from that, we still leave the actual IRQ handling logic alone.
Subsequent patches in this series will address that.

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