ata_get_mode_mask() has PIO modes 3 and 4 as bits 3 and 4 in the pio_mask
since the value read from the drive is shifted left by 3 bits and OR'd with
0x7 (which corresponds to PIO 2-0).  Thus, the drivers below need adjustments
to comply with the way pio_mask is used.  I left the masks in a state which
agrees with the existing comments; perhaps they all should get 0x1f to
indicate driver support for PIO4-0 but that can be done later.

Signed-off-by: Brett Russ <[EMAIL PROTECTED]>


Index: linux-2.6.13/drivers/scsi/ahci.c
===================================================================
--- linux-2.6.13.orig/drivers/scsi/ahci.c
+++ linux-2.6.13/drivers/scsi/ahci.c
@@ -244,7 +244,7 @@ static struct ata_port_info ahci_port_in
                .host_flags     = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
                                  ATA_FLAG_SATA_RESET | ATA_FLAG_MMIO |
                                  ATA_FLAG_PIO_DMA,
-               .pio_mask       = 0x03, /* pio3-4 */
+               .pio_mask       = 0x18, /* pio3-4 */
                .udma_mask      = 0x7f, /* udma0-6 ; FIXME */
                .port_ops       = &ahci_ops,
        },
Index: linux-2.6.13/drivers/scsi/sata_uli.c
===================================================================
--- linux-2.6.13.orig/drivers/scsi/sata_uli.c
+++ linux-2.6.13/drivers/scsi/sata_uli.c
@@ -120,7 +120,7 @@ static struct ata_port_info uli_port_inf
        .sht            = &uli_sht,
        .host_flags     = ATA_FLAG_SATA | ATA_FLAG_SATA_RESET |
                          ATA_FLAG_NO_LEGACY,
-       .pio_mask       = 0x03,         //support pio mode 4 (FIXME)
+       .pio_mask       = 0x10,         //support pio mode 4 (FIXME)
        .udma_mask      = 0x7f,         //support udma mode 6
        .port_ops       = &uli_ops,
 };
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to