Skip to contentSkip to conversation

sis5513: don't change UDMA settings when programming PIO

PATCH In review Bartlomiej Zolnierkiewicz 2 participants 3 messages Jul 20, 2007 – Jul 22, 2007 libata

lore
Share & tools
lore
#0 lore raw

PATCH 3/4 sis5513: don't change UDMA settings when programming PIO

---
 drivers/ide/pci/sis5513.c |   11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)
drivers/ide/pci/sis5513.c +4 -7
Index: 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 <[email protected]>
  * Copyright (C) 2002		Lionel Bouton <[email protected]>, Maintainer
@@ -537,6 +537,9 @@ static int sis5513_tune_chipset(ide_driv
 	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_driv
 		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;