diff options
author | Alan Cox <alan@redhat.com> | 2009-01-05 15:16:39 +0100 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2009-01-08 22:34:27 +0100 |
commit | 871af1210f13966ab911ed2166e4ab2ce775b99d (patch) | |
tree | f17f0016f6e966d54a379a3de6e6bbde3b9359fe /drivers/ata/pata_ali.c | |
parent | [libata] ahci: Withdraw IGN_SERR_INTERNAL for SB800 SATA (diff) | |
download | linux-871af1210f13966ab911ed2166e4ab2ce775b99d.tar.xz linux-871af1210f13966ab911ed2166e4ab2ce775b99d.zip |
libata: Add 32bit PIO support
This matters for some controllers and in one or two cases almost doubles
PIO performance. Add a bmdma32 operations set we can inherit and activate
it for some controllers
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/ata/pata_ali.c')
-rw-r--r-- | drivers/ata/pata_ali.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/ata/pata_ali.c b/drivers/ata/pata_ali.c index a4f9e39442c6..a7999c19f0c9 100644 --- a/drivers/ata/pata_ali.c +++ b/drivers/ata/pata_ali.c @@ -151,8 +151,7 @@ static void ali_fifo_control(struct ata_port *ap, struct ata_device *adev, int o pci_read_config_byte(pdev, pio_fifo, &fifo); fifo &= ~(0x0F << shift); - if (on) - fifo |= (on << shift); + fifo |= (on << shift); pci_write_config_byte(pdev, pio_fifo, fifo); } @@ -370,10 +369,11 @@ static struct ata_port_operations ali_early_port_ops = { .inherits = &ata_sff_port_ops, .cable_detect = ata_cable_40wire, .set_piomode = ali_set_piomode, + .sff_data_xfer = ata_sff_data_xfer32, }; static const struct ata_port_operations ali_dma_base_ops = { - .inherits = &ata_bmdma_port_ops, + .inherits = &ata_bmdma32_port_ops, .set_piomode = ali_set_piomode, .set_dmamode = ali_set_dmamode, }; |