The patch titled pata: pata_ali - further debug work has been added to the -mm tree. Its filename is pata-pata_ali-further-debug-work.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: pata: pata_ali - further debug work From: Alan Cox <alan@xxxxxxxxxx> Further mode setup work for ALi. Follow BIOS guide for the FIFO setup Signed-off-by: Alan Cox <alan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- drivers/scsi/pata_ali.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff -puN drivers/scsi/pata_ali.c~pata-pata_ali-further-debug-work drivers/scsi/pata_ali.c --- a/drivers/scsi/pata_ali.c~pata-pata_ali-further-debug-work +++ a/drivers/scsi/pata_ali.c @@ -34,7 +34,7 @@ #include <linux/dmi.h> #define DRV_NAME "pata_ali" -#define DRV_VERSION "0.6.1" +#define DRV_VERSION "0.6.3" /* * Cable special cases @@ -181,11 +181,12 @@ static void ali_fifo_control(struct ata_ u8 fifo; int shift = 4 * adev->devno; - /* Bits 3:2 (7:6 for slave) control the PIO. 00 is off 01 - is on. The FIFO must not be used for ATAPI. We preserve - BIOS set thresholds */ + /* ATA - FIFO on set nibble to 0x05, ATAPI - FIFO off, set nibble to + 0x00. Not all the docs agree but the behaviour we now use is the + one stated in the BIOS Programming Guide */ + pci_read_config_byte(pdev, pio_fifo, &fifo); - fifo &= ~(0x0C << shift); + fifo &= ~(0x0F << shift); if (on) fifo |= (on << shift); pci_write_config_byte(pdev, pio_fifo, fifo); @@ -261,10 +262,10 @@ static void ali_set_piomode(struct ata_p /* PIO FIFO is only permitted on ATA disk */ if (adev->class != ATA_DEV_ATA) - ali_fifo_control(ap, adev, 0); + ali_fifo_control(ap, adev, 0x00); ali_program_modes(ap, adev, &t, 0); if (adev->class == ATA_DEV_ATA) - ali_fifo_control(ap, adev, 0x04); + ali_fifo_control(ap, adev, 0x05); } @@ -289,6 +290,12 @@ static void ali_set_dmamode(struct ata_p if (adev->dma_mode >= XFER_UDMA_0) { ali_program_modes(ap, adev, NULL, udma_timing[adev->dma_mode - XFER_UDMA_0]); + if (adev->dma_mode >= XFER_UDMA_3) { + u8 reg54; + pci_read_config_byte(pdev, 0x54, ®54); + reg54 |= 1; + pci_write_config_byte(pdev, 0x54, reg54); + } } else { ata_timing_compute(adev, adev->dma_mode, &t, T, 1); if (pair) { _ Patches currently in -mm which might be from alan@xxxxxxxxxx are origin.patch my-name-is-ingo-molnar-you-killed-my-make-allyesconfig-prepare-to-die.patch jmicron-pci-identifiers.patch pata-ata_piix-time0-time1-setup.patch pata-pata_ali-further-debug-work.patch pata-pata_amd-new-chips.patch pata-pata_ali-revisions-below-0x20-need-cd-config-poking-too.patch pata-sort-out-mc65-compile-for-now.patch pata-libata-fix-the-host_set-hacks-and-sort-out-simplex-mode.patch pata-pata_it821x-fix-pass-through.patch pata-ahci-ensure-that-we-dont-grab-both-functions.patch pata-jmicron-add-quirks-to-force-the-device-into-a-sane-mode.patch pata-jmicron-configuration.patch pata-it821x-fix-the-atapi-autodma-setup.patch pata-ata_generic-generic-bios-setup-sff-ata-driver.patch pata-jmicron-ide-old-type-driver.patch pata-pata_qdi-fix-return-code.patch pata-ide-jmicron-finish-writing.patch pata-jmicron-it-works-better-if-you-get-the-file-name-right.patch pata-jmicron-further-clean-up.patch pata-ata_jmicro-fix-an-escapee.patch pata-jmicron-jmicron-multifunction-setup.patch pata-libata-enable-per-device-speed-setting.patch pata-jmicron-missed-one.patch sanitize-3c589_cs.patch ide-backport-piix-fixes-from-libata-into-the-legacy-driver.patch move-ide-to-unmaintained-drop-reference-to-old-git-tree.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html