Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 295806
b: refs/heads/master
c: 795d5fd
h: refs/heads/master
v: v3
  • Loading branch information
Dmitry Artamonow authored and Olof Johansson committed Mar 7, 2012
1 parent 8386072 commit 4406f08
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 4 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 448b98047c61dd612fc3a41a2b9479da77ace27d
refs/heads/master: 795d5fd4b8b06944976c95e8592e17e2d415aa81
14 changes: 11 additions & 3 deletions trunk/arch/arm/mach-tegra/pcie.c
Original file line number Diff line number Diff line change
Expand Up @@ -585,10 +585,10 @@ static void tegra_pcie_setup_translations(void)
afi_writel(0, AFI_MSI_BAR_SZ);
}

static void tegra_pcie_enable_controller(void)
static int tegra_pcie_enable_controller(void)
{
u32 val, reg;
int i;
int i, timeout;

/* Enable slot clock and pulse the reset signals */
for (i = 0, reg = AFI_PEX0_CTRL; i < 2; i++, reg += 0x8) {
Expand Down Expand Up @@ -639,8 +639,14 @@ static void tegra_pcie_enable_controller(void)
pads_writel(0xfa5cfa5c, 0xc8);

/* Wait for the PLL to lock */
timeout = 2000;
do {
val = pads_readl(PADS_PLL_CTL);
mdelay(1);
if (--timeout == 0) {
pr_err("Tegra PCIe error: timeout waiting for PLL\n");
return -EBUSY;
}
} while (!(val & PADS_PLL_CTL_LOCKDET));

/* turn off IDDQ override */
Expand Down Expand Up @@ -921,7 +927,9 @@ int __init tegra_pcie_init(bool init_port0, bool init_port1)
if (err)
return err;

tegra_pcie_enable_controller();
err = tegra_pcie_enable_controller();
if (err)
return err;

/* setup the AFI address translations */
tegra_pcie_setup_translations();
Expand Down

0 comments on commit 4406f08

Please sign in to comment.