diff options
| -rw-r--r-- | drivers/ata/sata_nv.c | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/drivers/ata/sata_nv.c b/drivers/ata/sata_nv.c index 6f1460614325..93bf5855a9b5 100644 --- a/drivers/ata/sata_nv.c +++ b/drivers/ata/sata_nv.c | |||
| @@ -305,10 +305,10 @@ static irqreturn_t nv_ck804_interrupt(int irq, void *dev_instance); | |||
| 305 | static int nv_scr_read(struct ata_link *link, unsigned int sc_reg, u32 *val); | 305 | static int nv_scr_read(struct ata_link *link, unsigned int sc_reg, u32 *val); |
| 306 | static int nv_scr_write(struct ata_link *link, unsigned int sc_reg, u32 val); | 306 | static int nv_scr_write(struct ata_link *link, unsigned int sc_reg, u32 val); |
| 307 | 307 | ||
| 308 | static int nv_noclassify_hardreset(struct ata_link *link, unsigned int *class, | ||
| 309 | unsigned long deadline); | ||
| 308 | static void nv_nf2_freeze(struct ata_port *ap); | 310 | static void nv_nf2_freeze(struct ata_port *ap); |
| 309 | static void nv_nf2_thaw(struct ata_port *ap); | 311 | static void nv_nf2_thaw(struct ata_port *ap); |
| 310 | static int nv_nf2_hardreset(struct ata_link *link, unsigned int *class, | ||
| 311 | unsigned long deadline); | ||
| 312 | static void nv_ck804_freeze(struct ata_port *ap); | 312 | static void nv_ck804_freeze(struct ata_port *ap); |
| 313 | static void nv_ck804_thaw(struct ata_port *ap); | 313 | static void nv_ck804_thaw(struct ata_port *ap); |
| 314 | static int nv_adma_slave_config(struct scsi_device *sdev); | 314 | static int nv_adma_slave_config(struct scsi_device *sdev); |
| @@ -432,7 +432,7 @@ static struct ata_port_operations nv_nf2_ops = { | |||
| 432 | .inherits = &nv_common_ops, | 432 | .inherits = &nv_common_ops, |
| 433 | .freeze = nv_nf2_freeze, | 433 | .freeze = nv_nf2_freeze, |
| 434 | .thaw = nv_nf2_thaw, | 434 | .thaw = nv_nf2_thaw, |
| 435 | .hardreset = nv_nf2_hardreset, | 435 | .hardreset = nv_noclassify_hardreset, |
| 436 | }; | 436 | }; |
| 437 | 437 | ||
| 438 | /* CK804 finally gets hardreset right */ | 438 | /* CK804 finally gets hardreset right */ |
| @@ -1530,6 +1530,17 @@ static int nv_scr_write(struct ata_link *link, unsigned int sc_reg, u32 val) | |||
| 1530 | return 0; | 1530 | return 0; |
| 1531 | } | 1531 | } |
| 1532 | 1532 | ||
| 1533 | static int nv_noclassify_hardreset(struct ata_link *link, unsigned int *class, | ||
| 1534 | unsigned long deadline) | ||
| 1535 | { | ||
| 1536 | bool online; | ||
| 1537 | int rc; | ||
| 1538 | |||
| 1539 | rc = sata_link_hardreset(link, sata_deb_timing_hotplug, deadline, | ||
| 1540 | &online, NULL); | ||
| 1541 | return online ? -EAGAIN : rc; | ||
| 1542 | } | ||
| 1543 | |||
| 1533 | static void nv_nf2_freeze(struct ata_port *ap) | 1544 | static void nv_nf2_freeze(struct ata_port *ap) |
| 1534 | { | 1545 | { |
| 1535 | void __iomem *scr_addr = ap->host->ports[0]->ioaddr.scr_addr; | 1546 | void __iomem *scr_addr = ap->host->ports[0]->ioaddr.scr_addr; |
| @@ -1554,17 +1565,6 @@ static void nv_nf2_thaw(struct ata_port *ap) | |||
| 1554 | iowrite8(mask, scr_addr + NV_INT_ENABLE); | 1565 | iowrite8(mask, scr_addr + NV_INT_ENABLE); |
| 1555 | } | 1566 | } |
| 1556 | 1567 | ||
| 1557 | static int nv_nf2_hardreset(struct ata_link *link, unsigned int *class, | ||
| 1558 | unsigned long deadline) | ||
| 1559 | { | ||
| 1560 | bool online; | ||
| 1561 | int rc; | ||
| 1562 | |||
| 1563 | rc = sata_link_hardreset(link, sata_deb_timing_hotplug, deadline, | ||
| 1564 | &online, NULL); | ||
| 1565 | return online ? -EAGAIN : rc; | ||
| 1566 | } | ||
| 1567 | |||
| 1568 | static void nv_ck804_freeze(struct ata_port *ap) | 1568 | static void nv_ck804_freeze(struct ata_port *ap) |
| 1569 | { | 1569 | { |
| 1570 | void __iomem *mmio_base = ap->host->iomap[NV_MMIO_BAR]; | 1570 | void __iomem *mmio_base = ap->host->iomap[NV_MMIO_BAR]; |
