[libata ahci] support ->tf_read hook
Linux Kernel Mailing List <[email protected]> Thu, 10 Mar 2005 18:31:37 +0000
| Newsgroups | gmane.linux.kernel.commits.2-4 |
|---|---|
| Message-ID | <[email protected]> |
ChangeSet 1.1448.129.2, 2005/03/10 13:31:37-05:00, [email protected] [libata ahci] support ->tf_read hook ahci.c | 11 +++++++++++ 1 files changed, 11 insertions(+) diff -Nru a/drivers/scsi/ahci.c b/drivers/scsi/ahci.c --- a/drivers/scsi/ahci.c 2005-04-30 12:14:20 -07:00 +++ b/drivers/scsi/ahci.c 2005-04-30 12:14:20 -07:00 @@ -176,6 +176,7 @@ 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); @@ -209,6 +210,8 @@ .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, @@ -460,6 +463,14 @@ void *mmio = (void *) ap->ioaddr.cmd_addr; 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)