aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/sata_promise.c
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2007-08-06 05:36:22 -0400
committerJeff Garzik <jeff@garzik.org>2007-10-12 14:55:30 -0400
commit9af5c9c97dc9d599281778864c72b385f0c63341 (patch)
tree8359986bd42c4a9a5b1993078aa9ee4c7971ac3d /drivers/ata/sata_promise.c
parent640fdb504941fa2b9f6f274716fc9f97f2bf6bff (diff)
libata-link: introduce ata_link
Introduce ata_link. It abstracts PHY and sits between ata_port and ata_device. This new level of abstraction is necessary to support SATA Port Multiplier, which basically adds a bunch of links (PHYs) to a ATA host port. Fields related to command execution, spd_limit and EH are per-link and thus moved to ata_link. This patch only defines the host link. Multiple link handling will be added later. Also, a lot of ap->link derefences are added but many of them will be removed as each part is converted to deal directly with ata_link instead of ata_port. This patch introduces no behavior change. Signed-off-by: Tejun Heo <htejun@gmail.com> Cc: James Bottomley <James.Bottomley@SteelEye.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/ata/sata_promise.c')
-rw-r--r--drivers/ata/sata_promise.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/ata/sata_promise.c b/drivers/ata/sata_promise.c
index 25698cf0dce0..620d0675d18a 100644
--- a/drivers/ata/sata_promise.c
+++ b/drivers/ata/sata_promise.c
@@ -626,7 +626,7 @@ static void pdc_post_internal_cmd(struct ata_queued_cmd *qc)
626static void pdc_error_intr(struct ata_port *ap, struct ata_queued_cmd *qc, 626static void pdc_error_intr(struct ata_port *ap, struct ata_queued_cmd *qc,
627 u32 port_status, u32 err_mask) 627 u32 port_status, u32 err_mask)
628{ 628{
629 struct ata_eh_info *ehi = &ap->eh_info; 629 struct ata_eh_info *ehi = &ap->link.eh_info;
630 unsigned int ac_err_mask = 0; 630 unsigned int ac_err_mask = 0;
631 631
632 ata_ehi_clear_desc(ehi); 632 ata_ehi_clear_desc(ehi);
@@ -773,7 +773,7 @@ static irqreturn_t pdc_interrupt (int irq, void *dev_instance)
773 tmp = hotplug_status & (0x11 << ata_no); 773 tmp = hotplug_status & (0x11 << ata_no);
774 if (tmp && ap && 774 if (tmp && ap &&
775 !(ap->flags & ATA_FLAG_DISABLED)) { 775 !(ap->flags & ATA_FLAG_DISABLED)) {
776 struct ata_eh_info *ehi = &ap->eh_info; 776 struct ata_eh_info *ehi = &ap->link.eh_info;
777 ata_ehi_clear_desc(ehi); 777 ata_ehi_clear_desc(ehi);
778 ata_ehi_hotplugged(ehi); 778 ata_ehi_hotplugged(ehi);
779 ata_ehi_push_desc(ehi, "hotplug_status %#x", tmp); 779 ata_ehi_push_desc(ehi, "hotplug_status %#x", tmp);
@@ -788,7 +788,7 @@ static irqreturn_t pdc_interrupt (int irq, void *dev_instance)
788 !(ap->flags & ATA_FLAG_DISABLED)) { 788 !(ap->flags & ATA_FLAG_DISABLED)) {
789 struct ata_queued_cmd *qc; 789 struct ata_queued_cmd *qc;
790 790
791 qc = ata_qc_from_tag(ap, ap->active_tag); 791 qc = ata_qc_from_tag(ap, ap->link.active_tag);
792 if (qc && (!(qc->tf.flags & ATA_TFLAG_POLLING))) 792 if (qc && (!(qc->tf.flags & ATA_TFLAG_POLLING)))
793 handled += pdc_host_intr(ap, qc); 793 handled += pdc_host_intr(ap, qc);
794 } 794 }