[PATCH 4/13] cy82c693: correct DMA modes clipping

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Mask device DMA masks by ATA_{S,M}WDMA2 in cy82c693_ide_dma_on().

* Remove clipping of DMA modes by id->tDMA in cy82c693_dma_enable():
  - id->tDMA may not be defined on newer devices
  - id->vendor6/id->tDMA word is in LE endianness
    (cy82c693 seems to be Alpha specific though)

* Bump driver version.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx>
---
 drivers/ide/pci/cy82c693.c |   12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

Index: b/drivers/ide/pci/cy82c693.c
===================================================================
--- a/drivers/ide/pci/cy82c693.c
+++ b/drivers/ide/pci/cy82c693.c
@@ -1,5 +1,5 @@
 /*
- * linux/drivers/ide/pci/cy82c693.c		Version 0.42	Oct 23, 2007
+ * linux/drivers/ide/pci/cy82c693.c		Version 0.43	Nov 7, 2007
  *
  *  Copyright (C) 1998-2000 Andreas S. Krebs (akrebs@xxxxxxxxxxxxx), Maintainer
  *  Copyright (C) 1998-2002 Andre Hedrick <andre@xxxxxxxxxxxxx>, Integrator
@@ -182,10 +182,7 @@ static void cy82c693_dma_enable (ide_dri
 
 	if (mode>2)	/* make sure we set a valid mode */
 		mode = 2;
-			   
-	if (mode > drive->id->tDMA)  /* to be absolutly sure we have a valid mode */
-		mode = drive->id->tDMA;
-	
+
 	index = (HWIF(drive)->channel==0) ? CY82_INDEX_CHANNEL0 : CY82_INDEX_CHANNEL1;
 
 #if CY82C693_DEBUG_LOGS
@@ -250,7 +247,10 @@ static int cy82c693_ide_dma_on (ide_driv
 
 			mmode = id->dma_mword & (id->dma_mword >> 8);
 			smode = id->dma_1word & (id->dma_1word >> 8);
-			       		      
+
+			mmode &= ATA_MWDMA2;
+			smode &= ATA_SWDMA2;
+
 			if (mmode != 0) {
 				/* enable multi */
 				cy82c693_dma_enable(drive, (mmode >> 1), 0);
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux