From 1b23a4e0f03063f823ea38065c1106f62a56b408 Mon Sep 17 00:00:00 2001 From: Mingkai Hu Date: Mon, 7 Nov 2016 15:03:51 +0800 Subject: [PATCH 230/238] layerscape/pci: fix linkup issue commit e6612d785198abbb39142e2acb63f9bff26ab718 [context adjustment] Signed-off-by: Mingkai Hu Integrated-by: Zhao Qiang --- drivers/pci/host/pci-layerscape.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/pci/host/pci-layerscape.c b/drivers/pci/host/pci-layerscape.c index 00feabf..f85ebcf 100644 --- a/drivers/pci/host/pci-layerscape.c +++ b/drivers/pci/host/pci-layerscape.c @@ -158,11 +158,16 @@ static void ls1021_pcie_host_init(struct pcie_port *pp) static int ls_pcie_link_up(struct pcie_port *pp) { struct ls_pcie *pcie = to_ls_pcie(pp); - u32 state; + u32 state, offset; + + if (of_get_property(pp->dev->of_node, "fsl,lut_diff", NULL)) + offset = 0x407fc; + else + offset = PCIE_LUT_DBG; - state = (ioread32(pcie->lut + pcie->drvdata->lut_dbg) >> - pcie->drvdata->ltssm_shift) & - LTSSM_STATE_MASK; + state = (ioread32(pcie->lut + offset) >> + pcie->drvdata->ltssm_shift) & + LTSSM_STATE_MASK; if (state < LTSSM_PCIE_L0) return 0; -- 1.7.9.5