diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2011-10-13 09:28:30 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2011-10-14 13:37:32 -0400 |
commit | ce986690d9bfabb8c61fd8fe785fce5d95210b66 (patch) | |
tree | ac4ebfbbe9c382e7fab20489c417e62fa0da8865 /drivers/ata | |
parent | 418fae2751b0d1a362ad9e0b45d446dc92e9157f (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')
-rw-r--r-- | drivers/ata/ata_piix.c | 5 |
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); |