Re: PATA driver patch for 2.6.17

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

 



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

--- ../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);
 
 }
 

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

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux