ata_generic: implement ATA_GEN_* flags and force enable DMA on MBP 7,1
authorTejun Heo <tj@kernel.org>
Tue, 22 Jun 2010 10:27:26 +0000 (12:27 +0200)
committerJeff Garzik <jgarzik@redhat.com>
Thu, 1 Jul 2010 19:34:48 +0000 (15:34 -0400)
commit1529c69adce1e95f7ae72f0441590c226bbac7fc
tree25ada3429120228a4bba08f0ef47a033e503e7c8
parentc6353b4520788e34098bbf61c73fb9618ca7fdd6
ata_generic: implement ATA_GEN_* flags and force enable DMA on MBP 7,1

IDE mode of MCP89 on MBP 7,1 doesn't set DMA enable bits in the BMDMA
status register.  Make the following changes to work around the problem.

* Instead of using hard coded 1 in id->driver_data as class code
  match, use ATA_GEN_CLASS_MATCH and carry the matched id in
  host->private_data.

* Instead of matching PCI_VENDOR_ID_CENATEK, use ATA_GEN_FORCE_DMA
  flag in id instead.

* Add ATA_GEN_FORCE_DMA to the id entry of MBP 7,1.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Peer Chen <pchen@nvidia.com>
Cc: stable@kernel.org
Reported-by: Anders Ă˜sthus <grapz666@gmail.com>
Reported-by: Andreas Graf <andreas_graf@csgraf.de>
Reported-by: Benoit Gschwind <gschwind@gnu-log.net>
Reported-by: Damien Cassou <damien.cassou@gmail.com>
Reported-by: tixetsal@juno.com
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/ata/ata_generic.c