linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Fix ALi15x3 DMA on sparc64 (maybe others)
@ 2003-07-17 18:14 Ben Collins
  2003-07-18  6:38 ` David S. Miller
  0 siblings, 1 reply; 2+ messages in thread
From: Ben Collins @ 2003-07-17 18:14 UTC (permalink / raw)
  To: Marcelo Tosatti, David S. Miller, alan; +Cc: linux-kernel, linux-ide

Attached is a patch that is known to fix atleast the DMA corruption
occuring on sparc64 in 2.4.x kernels for ALi15x3 IDE chipsets. I think
Alan hinted that someone also reported it fixed a similar problem on
alpha.

I've been using this patch for some time now, with great results, and
Debian unstable sparc64 users have unknowingly been testing the patch
aswell. No reports of problems.

Please apply for 2.4.22. Original patch was from Ivan Kokshaysky.

--- linux/drivers/ide/pci/alim15x3.c.orig	Tue Apr 22 19:17:22 2003
+++ linux/drivers/ide/pci/alim15x3.c	Tue May 27 17:42:17 2003
@@ -525,10 +525,14 @@ static int ali15x3_config_drive_for_dma(
 
 	drive->init_speed = 0;
 
+	/* Set reasonable PIO timings first - some of them are needed
+	   for DMA as well. */
+	hwif->tuneproc(drive, 255);
+
 	if ((id->capability & 1) != 0 && drive->autodma) {
 		/* Consult the list of known "bad" drives */
 		if (hwif->ide_dma_bad_drive(drive))
-			goto ata_pio;
+			goto no_dma_set;
 		if ((id->field_valid & 4) && (m5229_revision >= 0xC2)) {
 			if (id->dma_ultra & hwif->ultra_mask) {
 				/* Force if Capable UltraDMA */
@@ -550,11 +554,9 @@ try_dma_modes:
 			if (!config_chipset_for_dma(drive))
 				goto no_dma_set;
 		} else {
-			goto ata_pio;
+			goto no_dma_set;
 		}
 	} else {
-ata_pio:
-		hwif->tuneproc(drive, 255);
 no_dma_set:
 		return hwif->ide_dma_off_quietly(drive);
 	}

-- 
Debian     - http://www.debian.org/
Linux 1394 - http://www.linux1394.org/
Subversion - http://subversion.tigris.org/

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] Fix ALi15x3 DMA on sparc64 (maybe others)
  2003-07-17 18:14 [PATCH] Fix ALi15x3 DMA on sparc64 (maybe others) Ben Collins
@ 2003-07-18  6:38 ` David S. Miller
  0 siblings, 0 replies; 2+ messages in thread
From: David S. Miller @ 2003-07-18  6:38 UTC (permalink / raw)
  To: Ben Collins; +Cc: marcelo, alan, linux-kernel, linux-ide

On Thu, 17 Jul 2003 14:14:10 -0400
Ben Collins <bcollins@debian.org> wrote:

> Attached is a patch that is known to fix atleast the DMA corruption
> occuring on sparc64 in 2.4.x kernels for ALi15x3 IDE chipsets. I think
> Alan hinted that someone also reported it fixed a similar problem on
> alpha.

Marcelo, please apply this.  Not only does it indeed fix
problems on Sparc64 and Alpha, it also is ACK'd by Alan
and already present in 2.5.x

Thanks.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-07-18  6:33 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-07-17 18:14 [PATCH] Fix ALi15x3 DMA on sparc64 (maybe others) Ben Collins
2003-07-18  6:38 ` David S. Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).