sata_mv: cache main_irq_mask register in hpriv
authorMark Lord <liml@rtr.ca>
Sat, 17 May 2008 17:38:00 +0000 (13:38 -0400)
committerJeff Garzik <jgarzik@redhat.com>
Mon, 19 May 2008 21:30:11 +0000 (17:30 -0400)
commit96e2c487933e5f69e98fffdcae2c35c78a671c07
tree418ff66ed6e6aaaef8775e1b6d03d6c799fc6b4c
parenta44253d24a97ec3efe601267274a5fb64d8696c1
sata_mv: cache main_irq_mask register in hpriv

Part five of simplifying/fixing handling of the main_irq_mask register
to resolve unexpected interrupt issues observed in 2.6.26-rc*.

Keep a cached copy of the main_irq_mask so that we don't have
to stall the CPU to read it on every pass through mv_interrupt.

This significantly speeds up interrupt handling, both for sata_mv,
and for any other driver/device sharing the same PCI IRQ line.

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