aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/ata_piix.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2011-10-13 09:28:30 -0400
committerJeff Garzik <jgarzik@redhat.com>2011-10-14 13:37:32 -0400
commitce986690d9bfabb8c61fd8fe785fce5d95210b66 (patch)
treeac4ebfbbe9c382e7fab20489c417e62fa0da8865 /drivers/ata/ata_piix.c
parent418fae2751b0d1a362ad9e0b45d446dc92e9157f (diff)
ata_piix: SITRE handling fix
Set SITRE (separate slave timing register) bit also in master-only configurations to match other PIIX-alike drivers and make further changes easier. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/ata/ata_piix.c')
-rw-r--r--drivers/ata/ata_piix.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/ata/ata_piix.c b/drivers/ata/ata_piix.c
index cc431d6bc97f..75fdd026a997 100644
--- a/drivers/ata/ata_piix.c
+++ b/drivers/ata/ata_piix.c
@@ -786,8 +786,6 @@ static void piix_set_piomode(struct ata_port *ap, struct ata_device *adev)
786 if (is_slave) { 786 if (is_slave) {
787 /* clear TIME1|IE1|PPE1|DTE1 */ 787 /* clear TIME1|IE1|PPE1|DTE1 */
788 master_data &= 0xff0f; 788 master_data &= 0xff0f;
789 /* Enable SITRE (separate slave timing register) */
790 master_data |= 0x4000;
791 /* enable PPE1, IE1 and TIME1 as needed */ 789 /* enable PPE1, IE1 and TIME1 as needed */
792 master_data |= (control << 4); 790 master_data |= (control << 4);
793 pci_read_config_byte(dev, slave_port, &slave_data); 791 pci_read_config_byte(dev, slave_port, &slave_data);
@@ -805,6 +803,9 @@ static void piix_set_piomode(struct ata_port *ap, struct ata_device *adev)
805 (timings[pio][0] << 12) | 803 (timings[pio][0] << 12) |
806 (timings[pio][1] << 8); 804 (timings[pio][1] << 8);
807 } 805 }
806
807 /* Enable SITRE (separate slave timing register) */
808 master_data |= 0x4000;
808 pci_write_config_word(dev, master_port, master_data); 809 pci_write_config_word(dev, master_port, master_data);
809 if (is_slave) 810 if (is_slave)
810 pci_write_config_byte(dev, slave_port, slave_data); 811 pci_write_config_byte(dev, slave_port, slave_data);