diff options
author | Mark Lord <liml@rtr.ca> | 2008-04-16 15:01:19 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-04-17 15:56:25 -0400 |
commit | 094e50b2f74146d8ee924fea4808e58c4ed2f163 (patch) | |
tree | 75b86149297d70d21b8e18191ac67bea47f95902 /drivers/ata/sata_mv.c | |
parent | 8a74f1a4680614dfb77fc5dfd37d0ece13b2b357 (diff) |
sata_mv add temporary 3 second init delay for SiliconImage PMs
sata_mv does not yet fully support hotplug (coming soon, though).
This means that the driver may not find a Silicon Image port-multiplier
when first loaded, because those devices take in exceess of 3 seconds
to sync up the SATA PHY (most devices do this in mere microseconds).
So, as a short-term interim measure, here we insert a 3-second pause
on initial driver load, once per controller board (not once per port!),
to allow the Silicon Image port-multipliers to be detected later.
This will be removed again (soon!) once hotplug is fully implemented/working.
Signed-off-by: Mark Lord <mlord@pobox.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/ata/sata_mv.c')
-rw-r--r-- | drivers/ata/sata_mv.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c index 82632e7e34f0..05ff8c776497 100644 --- a/drivers/ata/sata_mv.c +++ b/drivers/ata/sata_mv.c | |||
@@ -2105,6 +2105,13 @@ static int mv6_reset_hc(struct mv_host_priv *hpriv, void __iomem *mmio, | |||
2105 | printk(KERN_ERR DRV_NAME ": can't clear global reset\n"); | 2105 | printk(KERN_ERR DRV_NAME ": can't clear global reset\n"); |
2106 | rc = 1; | 2106 | rc = 1; |
2107 | } | 2107 | } |
2108 | /* | ||
2109 | * Temporary: wait 3 seconds before port-probing can happen, | ||
2110 | * so that we don't miss finding sleepy SilXXXX port-multipliers. | ||
2111 | * This can go away once hotplug is fully/correctly implemented. | ||
2112 | */ | ||
2113 | if (rc == 0) | ||
2114 | msleep(3000); | ||
2108 | done: | 2115 | done: |
2109 | return rc; | 2116 | return rc; |
2110 | } | 2117 | } |