aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/pci/sis5513.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2007-10-11 23:54:01 +0200
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2007-10-11 23:54:01 +0200
commit0d3be723cb6432e384267d0fe83ee0bae5e17846 (patch)
tree7b2aba9d5d592540eaf2f7c9394209ac10ce5db4 /drivers/ide/pci/sis5513.c
parent90986028c98be10807bb6f48e883f33fa20e5499 (diff)
downloadkernel_goldelico_gta04-0d3be723cb6432e384267d0fe83ee0bae5e17846.zip
kernel_goldelico_gta04-0d3be723cb6432e384267d0fe83ee0bae5e17846.tar.gz
kernel_goldelico_gta04-0d3be723cb6432e384267d0fe83ee0bae5e17846.tar.bz2
sis5513: don't change UDMA settings when programming PIO
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/pci/sis5513.c')
-rw-r--r--drivers/ide/pci/sis5513.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/drivers/ide/pci/sis5513.c b/drivers/ide/pci/sis5513.c
index 7455bf3..3a8cb14 100644
--- a/drivers/ide/pci/sis5513.c
+++ b/drivers/ide/pci/sis5513.c
@@ -1,5 +1,5 @@
/*
- * linux/drivers/ide/pci/sis5513.c Version 0.26 Jul 7, 2007
+ * linux/drivers/ide/pci/sis5513.c Version 0.27 Jul 14, 2007
*
* Copyright (C) 1999-2000 Andre Hedrick <andre@linux-ide.org>
* Copyright (C) 2002 Lionel Bouton <Lionel.Bouton@inet6.fr>, Maintainer
@@ -537,6 +537,9 @@ static int sis5513_tune_chipset(ide_drive_t *drive, const u8 speed)
u32 regdw;
u8 drive_pci, reg;
+ if (speed >= XFER_PIO_0 && speed <= XFER_PIO_4)
+ return sis5513_tune_drive(drive, speed - XFER_PIO_0);
+
/* See config_art_rwp_pio for drive pci config registers */
drive_pci = 0x40;
if (chipset_family >= ATA_133) {
@@ -601,12 +604,6 @@ static int sis5513_tune_chipset(ide_drive_t *drive, const u8 speed)
case XFER_SW_DMA_1:
case XFER_SW_DMA_0:
break;
- case XFER_PIO_4:
- case XFER_PIO_3:
- case XFER_PIO_2:
- case XFER_PIO_1:
- case XFER_PIO_0:
- return sis5513_tune_drive(drive, speed - XFER_PIO_0);
default:
BUG();
break;