sata_inic162x: use IDMA for ATA_PROT_DMA
authorTejun Heo <htejun@gmail.com>
Wed, 30 Apr 2008 07:35:11 +0000 (16:35 +0900)
committerJeff Garzik <jgarzik@redhat.com>
Tue, 6 May 2008 15:40:54 +0000 (11:40 -0400)
commit3ad400a92e9c7d2f7caa6c6f811dad9b7d3f333c
tree625fd562ea910adecba3bb0cbded541462830886
parent364fac0e56b9bd379330ef9e39d3761f0b491e2c
sata_inic162x: use IDMA for ATA_PROT_DMA

The modified driver on initio site has enough clue on how to use IDMA.
Use IDMA for ATA_PROT_DMA.

* LBA48 now works as long as it uses DMA (LBA48 devices still aren't
  allowed as it can destroy data if PIO is used for any reason).

* No need to mask IRQs for read DMAs as IDMA_DONE is properly raised
  after transfer to memory is actually completed.  There will be some
  spurious interrupts but host_intr will handle it correctly and
  manipulating port IRQ mask interacts badly with the other port for
  some reason, so command type dependent port IRQ masking is not used
  anymore.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/ata/sata_inic162x.c