01_libata_garzik-ahci-tf-read.patch (included in libata-2.6) This is Jeff's tf_read() support patch for AHCI.
Signed-off-by: Jeff Garzik <[EMAIL PROTECTED]> ahci.c | 11 +++++++++++ 1 files changed, 11 insertions(+) Index: libata-dev-2.6/drivers/scsi/ahci.c =================================================================== --- libata-dev-2.6.orig/drivers/scsi/ahci.c 2005-03-17 12:36:29.000000000 -0500 +++ libata-dev-2.6/drivers/scsi/ahci.c 2005-03-17 17:16:57.000000000 -0500 @@ -179,6 +179,7 @@ static void ahci_eng_timeout(struct ata_ static int ahci_port_start(struct ata_port *ap); static void ahci_port_stop(struct ata_port *ap); static void ahci_host_stop(struct ata_host_set *host_set); +static void ahci_tf_read(struct ata_port *ap, struct ata_taskfile *tf); static void ahci_qc_prep(struct ata_queued_cmd *qc); static u8 ahci_check_status(struct ata_port *ap); static u8 ahci_check_err(struct ata_port *ap); @@ -213,6 +214,8 @@ static struct ata_port_operations ahci_o .check_err = ahci_check_err, .dev_select = ata_noop_dev_select, + .tf_read = ahci_tf_read, + .phy_reset = ahci_phy_reset, .qc_prep = ahci_qc_prep, @@ -466,6 +469,14 @@ static u8 ahci_check_err(struct ata_port return (readl(mmio + PORT_TFDATA) >> 8) & 0xFF; } +static void ahci_tf_read(struct ata_port *ap, struct ata_taskfile *tf) +{ + struct ahci_port_priv *pp = ap->private_data; + u8 *d2h_fis = pp->rx_fis + RX_FIS_D2H_REG; + + ata_tf_from_fis(d2h_fis, tf); +} + static void ahci_fill_sg(struct ata_queued_cmd *qc) { struct ahci_port_priv *pp = qc->ap->private_data; - 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/