diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-10 10:46:45 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-10 10:46:45 -0400 |
commit | 82219fceeb654789a9dd7cd3c6cce12dbf659342 (patch) | |
tree | d00570c185471efd2c53ceae5d6e509db0603cf8 /drivers/ata/sata_fsl.c | |
parent | 3fa8749e584b55f1180411ab1b51117190bac1e5 (diff) | |
parent | 0395e61babd59c749fb5efe112affbfaa7d50eb7 (diff) |
Merge branch 'upstream-2.6.28' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev
* 'upstream-2.6.28' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
ata_piix: IDE Mode SATA patch for Intel Ibex Peak DeviceIDs
libata-eh: clear UNIT ATTENTION after reset
ata_piix: add Hercules EC-900 mini-notebook to ich_laptop short cable list
libata: reorder ata_device to remove 8 bytes of padding on 64 bits
[libata] pata_bf54x: Add proper PM operation
pata_sil680: convert CONFIG_PPC_MERGE to CONFIG_PPC
libata: Implement disk shock protection support
[libata] Introduce ata_id_has_unload()
PATA: RPC now selects HAVE_PATA_PLATFORM for pata platform driver
ata_piix: drop merged SCR access and use slave_link instead
libata: implement slave_link
libata: misc updates to prepare for slave link
libata: reimplement link iterator
libata: make SCR access ops per-link
Diffstat (limited to 'drivers/ata/sata_fsl.c')
-rw-r--r-- | drivers/ata/sata_fsl.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/drivers/ata/sata_fsl.c b/drivers/ata/sata_fsl.c index 3924e7209a44..1a56db92ff7a 100644 --- a/drivers/ata/sata_fsl.c +++ b/drivers/ata/sata_fsl.c | |||
@@ -469,10 +469,10 @@ static bool sata_fsl_qc_fill_rtf(struct ata_queued_cmd *qc) | |||
469 | return true; | 469 | return true; |
470 | } | 470 | } |
471 | 471 | ||
472 | static int sata_fsl_scr_write(struct ata_port *ap, unsigned int sc_reg_in, | 472 | static int sata_fsl_scr_write(struct ata_link *link, |
473 | u32 val) | 473 | unsigned int sc_reg_in, u32 val) |
474 | { | 474 | { |
475 | struct sata_fsl_host_priv *host_priv = ap->host->private_data; | 475 | struct sata_fsl_host_priv *host_priv = link->ap->host->private_data; |
476 | void __iomem *ssr_base = host_priv->ssr_base; | 476 | void __iomem *ssr_base = host_priv->ssr_base; |
477 | unsigned int sc_reg; | 477 | unsigned int sc_reg; |
478 | 478 | ||
@@ -493,10 +493,10 @@ static int sata_fsl_scr_write(struct ata_port *ap, unsigned int sc_reg_in, | |||
493 | return 0; | 493 | return 0; |
494 | } | 494 | } |
495 | 495 | ||
496 | static int sata_fsl_scr_read(struct ata_port *ap, unsigned int sc_reg_in, | 496 | static int sata_fsl_scr_read(struct ata_link *link, |
497 | u32 *val) | 497 | unsigned int sc_reg_in, u32 *val) |
498 | { | 498 | { |
499 | struct sata_fsl_host_priv *host_priv = ap->host->private_data; | 499 | struct sata_fsl_host_priv *host_priv = link->ap->host->private_data; |
500 | void __iomem *ssr_base = host_priv->ssr_base; | 500 | void __iomem *ssr_base = host_priv->ssr_base; |
501 | unsigned int sc_reg; | 501 | unsigned int sc_reg; |
502 | 502 | ||
@@ -645,12 +645,12 @@ static int sata_fsl_port_start(struct ata_port *ap) | |||
645 | * Workaround for 8315DS board 3gbps link-up issue, | 645 | * Workaround for 8315DS board 3gbps link-up issue, |
646 | * currently limit SATA port to GEN1 speed | 646 | * currently limit SATA port to GEN1 speed |
647 | */ | 647 | */ |
648 | sata_fsl_scr_read(ap, SCR_CONTROL, &temp); | 648 | sata_fsl_scr_read(&ap->link, SCR_CONTROL, &temp); |
649 | temp &= ~(0xF << 4); | 649 | temp &= ~(0xF << 4); |
650 | temp |= (0x1 << 4); | 650 | temp |= (0x1 << 4); |
651 | sata_fsl_scr_write(ap, SCR_CONTROL, temp); | 651 | sata_fsl_scr_write(&ap->link, SCR_CONTROL, temp); |
652 | 652 | ||
653 | sata_fsl_scr_read(ap, SCR_CONTROL, &temp); | 653 | sata_fsl_scr_read(&ap->link, SCR_CONTROL, &temp); |
654 | dev_printk(KERN_WARNING, dev, "scr_control, speed limited to %x\n", | 654 | dev_printk(KERN_WARNING, dev, "scr_control, speed limited to %x\n", |
655 | temp); | 655 | temp); |
656 | #endif | 656 | #endif |
@@ -868,7 +868,7 @@ issue_srst: | |||
868 | ioread32(CQ + hcr_base), | 868 | ioread32(CQ + hcr_base), |
869 | ioread32(CA + hcr_base), ioread32(CC + hcr_base)); | 869 | ioread32(CA + hcr_base), ioread32(CC + hcr_base)); |
870 | 870 | ||
871 | sata_fsl_scr_read(ap, SCR_ERROR, &Serror); | 871 | sata_fsl_scr_read(&ap->link, SCR_ERROR, &Serror); |
872 | 872 | ||
873 | DPRINTK("HStatus = 0x%x\n", ioread32(hcr_base + HSTATUS)); | 873 | DPRINTK("HStatus = 0x%x\n", ioread32(hcr_base + HSTATUS)); |
874 | DPRINTK("HControl = 0x%x\n", ioread32(hcr_base + HCONTROL)); | 874 | DPRINTK("HControl = 0x%x\n", ioread32(hcr_base + HCONTROL)); |
@@ -972,9 +972,9 @@ static void sata_fsl_error_intr(struct ata_port *ap) | |||
972 | * Handle & Clear SError | 972 | * Handle & Clear SError |
973 | */ | 973 | */ |
974 | 974 | ||
975 | sata_fsl_scr_read(ap, SCR_ERROR, &SError); | 975 | sata_fsl_scr_read(&ap->link, SCR_ERROR, &SError); |
976 | if (unlikely(SError & 0xFFFF0000)) { | 976 | if (unlikely(SError & 0xFFFF0000)) { |
977 | sata_fsl_scr_write(ap, SCR_ERROR, SError); | 977 | sata_fsl_scr_write(&ap->link, SCR_ERROR, SError); |
978 | } | 978 | } |
979 | 979 | ||
980 | DPRINTK("error_intr,hStat=0x%x,CE=0x%x,DE =0x%x,SErr=0x%x\n", | 980 | DPRINTK("error_intr,hStat=0x%x,CE=0x%x,DE =0x%x,SErr=0x%x\n", |
@@ -1091,7 +1091,7 @@ static void sata_fsl_host_intr(struct ata_port *ap) | |||
1091 | 1091 | ||
1092 | hstatus = ioread32(hcr_base + HSTATUS); | 1092 | hstatus = ioread32(hcr_base + HSTATUS); |
1093 | 1093 | ||
1094 | sata_fsl_scr_read(ap, SCR_ERROR, &SError); | 1094 | sata_fsl_scr_read(&ap->link, SCR_ERROR, &SError); |
1095 | 1095 | ||
1096 | if (unlikely(SError & 0xFFFF0000)) { | 1096 | if (unlikely(SError & 0xFFFF0000)) { |
1097 | DPRINTK("serror @host_intr : 0x%x\n", SError); | 1097 | DPRINTK("serror @host_intr : 0x%x\n", SError); |