]> bbs.cooldavid.org Git - net-next-2.6.git/commitdiff
sh: pci: Give SH7786 PHY some time to settle.
authorPaul Mundt <lethal@linux-sh.org>
Sun, 19 Sep 2010 04:57:51 +0000 (13:57 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Sun, 19 Sep 2010 04:57:51 +0000 (13:57 +0900)
The spec suggests waiting up to 500ms for the PHY to settle before
testing link state, but practice shows that 100ms is sufficient (this is
the delay value we also use on the other SH-4A PCI controllers, too).
This makes device detection much more reliable, although in the future it
should be a bit faster to simply serialize with a TLP IRQ.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/drivers/pci/pcie-sh7786.c

index 5ae58ec025c8b740d4c5ab8cadea202366bc428c..4e6cf8804979499e6ec4b96f7e4d4b57d0f7d2c0 100644 (file)
@@ -312,6 +312,9 @@ static int pcie_init(struct sh7786_pcie_port *port)
        data |= 0x1;
        pci_write_reg(chan, data, SH4A_PCIETCTLR);
 
+       /* Let things settle down a bit.. */
+       mdelay(100);
+
        /* Enable DL_Active Interrupt generation */
        data = pci_read_reg(chan, SH4A_PCIEDLINTENR);
        data |= PCIEDLINTENR_DLL_ACT_ENABLE;