Re: PATA driver patch for 2.6.17
From: Andrey Borzenkov
Date: Thu Jun 22 2006 - 12:49:37 EST
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Thursday 22 June 2006 01:23, Alan Cox wrote:
> Ar Maw, 2006-06-20 am 21:12 +0400, ysgrifennodd Andrey Borzenkov:
> > Running vanilla 2.6.17 + ide1 patch on ALi M5229 does not find CD-ROM.
> > Notice "ata2: command 0xa0 timeout" below.
>
> Not sure immediately but does the following help
>
Not really. AFAIK lowest nibble bit has meaning only in DMA mode anyway.
Anything else I could try to help pinpoint the problem?
> --- ../libata-devo/drivers/scsi/pata_ali.c 2006-06-20 11:50:15.000000000
> +0100 +++ drivers/scsi/pata_ali.c 2006-06-21 21:42:27.458542280 +0100
> @@ -181,11 +181,12 @@
> 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 @@
>
> /* 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);
>
> }
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)
iD8DBQFEmspZR6LMutpd94wRApEgAJ4q7AQM09lZ/uTnSPJIM296LYnF9QCgp63W
5lygD8TmjYh+1QwOGTWbQkg=
=SDOQ
-----END PGP SIGNATURE-----
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/