PATCH: ali noautodma, and Alpha AXP

Jeff Garzik (jgarzik@mandrakesoft.com)
Sun, 20 May 2001 21:55:19 -0400


This is a multi-part message in MIME format.
--------------82C6ABD5BEF7DE8E7368352B
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

The hardware: UP1000 Alpha, with ALI M1543C IDE. Fujitsu 2GB udma33
drive, I think. ATAPI UDMA CDROM.

The problem: 2.2.15 (as packaged with MDK 7.1 for Alpha) works fine.
2.4.current, both ac tree and linus tree, fail to work at all. I've
tried all combinations I can think of, for: with and without the
alim15xx.c driver, with/out IDEDMA, with/out IDEDMA on auto, with/out
"ide=nodma" on cmdline.

2.2.x gives the message "DMA disabled (BIOS)", and tunes the drives for
PIO.

2.4.x, even with "nodma", tunes the hard drive and CDROM drive for
udma. All hard drive accesses fail with "hda: lost interrupt" and "hdc:
lost interrupt". With the attached patch, it no longer appears to tune
the drives for UDMA, but I still get lost interrupt messages and no
usable drives.

-- 
Jeff Garzik      | "Do you have to make light of everything?!"
Building 1024    | "I'm extremely serious about nailing your
MandrakeSoft     |  step-daughter, but other than that, yes."
--------------82C6ABD5BEF7DE8E7368352B
Content-Type: text/plain; charset=us-ascii;
 name="ali.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="ali.patch"

Index: linux_2_4/drivers/ide/alim15x3.c diff -u linux_2_4/drivers/ide/alim15x3.c:1.1.1.49 linux_2_4/drivers/ide/alim15x3.c:1.1.1.49.6.1 --- linux_2_4/drivers/ide/alim15x3.c:1.1.1.49 Thu May 17 10:12:07 2001 +++ linux_2_4/drivers/ide/alim15x3.c Sun May 20 16:16:52 2001 @@ -679,19 +679,21 @@ hwif->drives[0].autotune = 1; hwif->drives[1].autotune = 1; hwif->speedproc = &ali15x3_tune_chipset; -#ifndef CONFIG_BLK_DEV_IDEDMA - hwif->autodma = 0; - return; -#endif /* CONFIG_BLK_DEV_IDEDMA */ +#ifdef CONFIG_BLK_DEV_IDEDMA if ((hwif->dma_base) && (m5229_revision >= 0x20)) { /* * M1543C or newer for DMAing */ hwif->dmaproc = &ali15x3_dmaproc; - if (!noautodma) - hwif->autodma = 1; + hwif->autodma = 1; } + + if (noautodma) + hwif->autodma = 0; +#else + hwif->autodma = 0; +#endif /* CONFIG_BLK_DEV_IDEDMA */ } void __init ide_dmacapable_ali15x3 (ide_hwif_t *hwif, unsigned long dmabase)

--------------82C6ABD5BEF7DE8E7368352B--

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/